2012-04-09 73 views
0

我要爲客戶實現新的設計/網站結構,但我遇到了一些問題。由於我創建的網址有點不同,我預計由於大量破損的網址而導致SEO排名存在問題。我的想法是將現有的網址(來自舊網站)與我創建的新網址進行匹配。匹配數據庫中的兩列

我偶然發現的問題如下:

舊網址http://www.example.com/category/numeric_id-item-name_item_code.html新的URLhttp://www.example.com/item_name-item_code.

在MySQL中我創建了一個包含在一個新的數據庫第一列是舊網站的item_name和item_code,第二列是來自新數據庫的相同信息。

的想法是因爲它遵循: 例子:比方說,我們有一個名爲彈片與代碼SL34的項目。舊的網址可能類似於http://www.example.com/springs/53-spring-leaf-sl34.html。 匹配該URL有3種可能性:

  1. 如果產品是在新的網站http://www.example.com/spring-leaf-sl34
  2. 在情況下,他們修改了名稱http://www.example.com/iron-spring-leaf-sl34
  3. 如果該產品是不是在新網站:http://www.example.com/springs

我需要幫助創建這些匹配。

謝謝。

+0

如果項目代碼和產品名稱都是字母數字,那麼您如何區分哪個是哪個? – 2012-04-09 12:19:10

+0

嗯......你可能給了我一個ideea ......在這個例子中唯一穩定的就是產品代碼......所以,我想我可以匹配產品代碼,並保持這一點,作爲一個標準,我可以做一個表格,如「Matching_id Old_URL New_URL」。 – 2012-04-09 13:16:36

+0

如果這種情況沒有解決,可以在代碼級別檢查URL(使用PHP +數據庫),並從代碼中發出301重定向... stackoverflow可以做的一些事情。 – 2012-04-09 13:48:51

回答

0

所以,很顯然,我已經找到了某種權宜之計:

CREATE 
    VIEW `database`.`url_view` 
    AS 
(SELECT old_table.old_url, new_table.new_url FROM old_table LEFT JOIN new_table ON old_table.product_code=new_table.product_code); 

這將舊網址用新的關聯,如果舊網址(產品)不再可用它將插入一個(NULL)條目。