2012-03-12 80 views
0

谷歌拿起一个坏的URL为我的网站的一个看起来像这样的修复错误的URL正确的URL应该是:通过重写规则

mysite.com/9807280/2005/Subaru/Outback/City/Name/

坏链接导致我重写规则打破,并无法显示该页面,这里有网址重写,这样的:

Options +FollowSymlinks 
RewriteEngine On 

RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^([0-9]+)/?$ /index.php?p=module&prefix=ebosync&module_page=details&id=$1 [NC,QSA,L] 
RewriteRule ^([0-9]+)/([0-9]+)/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/?$ /index.php?p=module&prefix=ebosync&module_page=details&id=$1&year=$2&make=$3&model=$4&city=$5&dealer=$6 [NC,QSA,L] 

什么是解决这个问题,也许两者的RewriteRules合并成一个考虑到的最佳方式帐户缺少参数?

回答

1

您应该编写一条规则告诉Google更正链接。

RewriteRule /broken/ /fixed/ [R=301,l] 

R = 301会发送HTTP状态301,一旦googlebot再次访问错误的网址,Google会更新其索引。

+0

谢谢,我想出了一种使用正则表达式的方法,因此它不仅仅适用于一页 – spyke01 2012-03-12 20:44:37