2012-04-09 77 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)条目。