2013-09-07 92 views
6

Tôi đang di chuyển trang web Magento từ example.com/shopping đến example.com và tôi phải chuyển hướng 301 tất cả các URL đến vị trí mới (example.com). Tôi giả sử tôi có thể sử dụng mod_rewrite trong tập tin .htaccess để tạo ra một quy tắc viết lại để làm điều này? Tôi đã cố gắng tìm hiểu cách sử dụng mod_rewrite, nhưng cú pháp quá phức tạp đối với tôi.Xóa thư mục khỏi URL bằng

Có hàng trăm trang cần được chuyển hướng. Ví dụ:

http://www.example.com/shopping/product-category-1/product-sub-category.html 

ĐẾN

http://www.example.com/product-category-1/product-sub-category.html 

Điều này là để mọi người không kết thúc với một lỗi 404 khi họ bước vào trang web thông qua một URL cũ.

+1

tôi theo nghĩa đen sẽ phải làm điều tương tự trong một vài giờ và truy vấn Google của tôi sẽ là một cái gì đó như '.htaccess redirect page' duy nhất. Nó bật lên ví dụ tốt, như [.htaccess 301 chuyển hướng của trang đơn] (http://stackoverflow.com/q/1421068) –

Trả lời

8

Hãy thử này thêm vào tập tin .htaccess trong thư mục gốc tài liệu của bạn, tốt nhất trên bất kỳ quy tắc có thể bạn đã có:

RewriteEngine On 
RewriteRule ^shopping/(.*)$ /$1 [L] 

Nếu bạn muốn chuyển hướng trình duyệt để các URL mới xuất hiện trong thanh địa chỉ , thêm một lá cờ R trong dấu ngoặc vuông:

RewriteEngine On 
RewriteRule ^shopping/(.*)$ /$1 [L,R=301] 
+0

Ok, đây là lời khuyên tuyệt vời, cảm ơn bạn. Câu hỏi tiếp theo của tôi sẽ là: điều này sẽ can thiệp vào bất kỳ khía cạnh nào khác của tệp .htaccess Magento mặc định? – peterbujok

+0

@pbujok Nếu Magento hy vọng có một đường dẫn '/ shopping /' trong URL, nhưng nó thực sự phụ thuộc vào cách bạn thiết lập nó –

+0

Phần [L] có thể ngăn các ghi đè khác chạy cần thiết cho chức năng của Magento? Nó sẽ là tốt hơn để chỉ bao gồm R = 301 và để phần còn lại của các ghi đè chạy? – peterbujok