2012-08-01 71 views
3

在我們的Magento安裝中存在URL重寫的奇怪行爲,我很難相信它沒有任何問題。僅供參考,我現在有...Magento:不一致的URL重寫

系統 - >配置 - >目錄 - >目錄 - >搜索引擎優化 - 針對URL>創建永久重定向URL是否改變的關鍵是 「否」

而且

我已經嘗試從系統 - >索引管理重新編制URL重寫索引。這是而不是似乎刪除已經存在的重寫。

當我通過數據源上傳產品時,我將url_key列留爲空白,以便Magento可以使用產品名稱創建自己的列。因此,如果我上傳名爲White Shirt A的產品,它將創建一個目標請求路徑catalog/product/view/id/1234mydomain.com/white-whirt-a.html。但是,如果我從管理面板中徹底刪除此產品,並重新上傳之前使用的相同數據饋送,則Magento不會將預覽URL映射刪除到mydomain.com/white-whirt-a.html。相反,它會創建一個新的URL規則到mydomain.com/white-whirt-a-1.html(或由於某種原因有時使用產品ID的mydomain.com/white-whirt-a-1234.html)。請注意,在管理員中,產品將具有mydomain.com/white-whirt-a.html作爲其URL鍵,這是不正確的。

一些問題:

  1. 我不希望要創建...-1.html...-1234.html。我如何防止獲取這些「連字符」鏈接?

  2. 更大的問題是url_key可用於管理和目錄導出文件顯示mydomain.com/white-whirt-a.html爲此產品。當實際的URL是mydomain.com/white-whirt-a-1.html ..發生了什麼事?

  3. Magento何時使用產品ID創建URL重寫?即mydomain.com/white-whirt-a-1234.html

回答

0

看來,Magento,或至少我們的當前版本,不會刪除一旦創建URL重寫,無論設置是什麼或者是否存在相應的產品當前目錄。因此,如果您上傳ID爲1234的產品並稍後刪除該產品,則URL重寫將保留在core_url_rewrite中。無論出於何種原因,您再次上傳本產品時,它都會有一個新的產品ID,當然,如5678,但由於產品ID 1234存在URL重寫,其名稱與產品ID 1234相同,所以最終將以...-1.html你的新改寫。我已經要求Magento提供幫助,但他們並沒有完全明白我想說明的內容。同時,清空表格core_url_rewrite將適用於開發者網站。

0

嘗試重新索引你的URL重寫: 系統>索引管理[目錄URL重寫]

,如果你有很多的產品,也許你會得到網關超時,如果出現這種情況,你可以嘗試從命令行執行它,它位於: [magentoRoot] /shell/indexer.php

+0

已經嘗試了很多次。重新索引似乎無法刪除core_url_rewrites表中的現有重寫。 – musicliftsme 2012-08-02 00:20:44

+0

你使用任何擴展名?在URL重寫中,有字段命名類型,值是什麼? (系統/定製/?) – ivantedja 2012-08-02 01:57:19

+0

URl重寫沒有擴展名。你指的是哪個URl重寫?Db表,管理菜單或? – musicliftsme 2012-08-02 05:19:06