2012-07-26 41 views
5

Chúng tôi gặp phải sự cố khi chúng tôi có chuyển hướng vĩnh viễn không mong muốn trên cửa hàng Magento mà chúng tôi đang thực hiện và tôi đang xem cách chúng tôi có thể bắt đầu bằng phương tiện trống của các chuyển hướng này. Chúng tôi không cần bất kỳ vì nó là một trang web đang phát triển và chúng tôi cũng sẽ không muốn bất kỳ điều gì được chuyển hướng trong miền này. Cửa hàng không hoạt động và sau đây là những gì đã xảy ra.Magento: cách xóa tất cả các chuyển hướng vĩnh viễn

Chúng tôi không biết về tùy chọn Quản lý ghi đè URL trong Hệ thống -> Config -> Catalog -> SEO, vì vậy nó được đánh dấu là "Có" cho "Tạo chuyển hướng vĩnh viễn ..." Một số sản phẩm được tải lên qua nguồn cấp dữ liệu, nhưng chúng đã được tải lên không chính xác. Vì vậy, chúng tôi đã tải chúng lên để ghi lại. Kết quả là "White Shirt A" có khóa URL là "white-shirt-a.html" trong nguồn cấp dữ liệu quản trị hoặc xuất, nhưng liên kết thực tế đưa sản phẩm lên là "áo sơ mi trắng-a-1. html. " Nếu chúng ta truy cập "white-shirt-a.html", nó sẽ cung cấp cho chúng tôi 404 Không tìm thấy.

Làm cách nào để xóa tất cả các chuyển hướng vĩnh viễn này? Chúng tôi đã cố gắng vô hiệu hoá hoặc xóa các đường dẫn yêu cầu cụ thể và mục nhập đường dẫn mục tiêu trong Danh mục -> URL Ghi đè trích dẫn, nhưng chúng không có bất kỳ ảnh hưởng nào.

Trả lời

10

Nếu cửa hàng của bạn không còn tồn tại, hãy làm theo này:

  1. rỗng/Truncate core_url_rewrite bảng từ cơ sở dữ liệu.

  2. Tắt chuyển hướng vĩnh viễn từ Magento Backend.

  3. Viết lại URL danh mục Reindex và tất cả URL của bạn sẽ được sửa.

+0

về core_url_rewrite, chúng tôi có một người giúp chúng tôi với lập trình Magento và anh ấy nói với chúng tôi rằng chúng tôi không nên xóa bất kỳ điều gì trong 'lõi _...'. Trước bài đăng này, tôi đã hỏi anh ta về việc cắt xén nó, và anh ta rất do dự. Việc cắt bớt bảng này sẽ chỉ ảnh hưởng đến các chuyển hướng đã được thực hiện mà không ảnh hưởng đến bất kỳ điều gì khác? Chúng tôi chỉ đơn giản muốn URL sản phẩm của chúng tôi là phiên bản được làm sạch của tên của họ, như trong ví dụ 'Áo trắng A'. – musicliftsme

+0

Không, cắt bớt bảng core_url_rewrite không có bất kỳ ảnh hưởng nào đến các tính năng khác so với viết lại url (REDIRECT). Do Catalogue Url Indexing Sau đó để tạo sự mới lạ mới (sạch) URL trong bảng core_url_rewrite –

+0

Xem đây: http://www.youtube.com/watch?v=8xttr_ILd6A&feature=player_embedded Sửa URL lạ ghi đè http : //www.yireo.com/tutorials/magento/magento-administration/664-fixing-url-rewrites-with-magento –

0

Tôi không đảm bảo rằng điều này là an toàn. Nhưng cho đến nay nó dường như đã làm việc.

tôi đã chạy truy vấn này:

"! DELETE * FROM core_url_rewrite ĐÂU is_system = 1";

Truy vấn đó đã xóa tất cả tùy chỉnh quy tắc viết lại, trong đó chúng tôi có khoảng 500.000 quy tắc. Hầu hết chúng được tạo ra khi ai đó tắt phần mở rộng ".html" trong Công cụ Tìm kiếm Tối ưu hóa mà không thay đổi "Tạo Quy tắc Ghi lại Khi Url được Thay đổi" thành "Không".

0

Để loại bỏ tất cả chuyển hướng vĩnh viễn bạn có thể:

1) Thực hiện truy vấn trực tiếp (không khuyến khích):

DELETE FROM core_url_rewrite WHERE options IS NOT NULL AND is_system = 0 

2) Làm điều đó một cách nhẹ nhàng hơn:

$write = Mage::getSingleton('core/resource')->getConnection('core_write'); 
try { 
    $write->beginTransaction(); 
    $table = Mage::getSingleton('core/resource')->getTableName('core/url_rewrite'); 
    $count = $write->exec('DELETE FROM ' . $table . ' WHERE options IS NOT NULL AND is_system = 0'); 
    $write->commit(); 
    $this->_getSession()->addSuccess($this->__('Successfully removed %s redirects.', $count)); 
} catch(Exception $e) { 
    $write->rollback(); 
    $this->_getSession()->addException($this->__("An error occurred while clearing url redirects: %s", $e->getMessage()));    
} 

3) Hoặc bạn có thể cài đặt phần mở rộng Custom Product Urls cho phép bạn xóa tất cả các chuyển hướng vĩnh viễn khỏi bảng quản trị.

Các vấn đề liên quan