我的站点在页面之间的URL中传递一个变量(电话号码)。它从数据库中获取电话号码,并将URL链接写为: url.com/ phone - number /id。
但是,如果目标页面没有电话号码,它将被替换为0,因此,url.com/0/id。
旧页面没有电话号码,因此所有重定向的电话号码都为0。
# 301 redirects ad
RewriteCond %{REQUEST_URI} ^/page\.php$
RewriteCond %{QUERY_STRING} ^id=(\d+)$ [NC]
RewriteRule ^page.php$ /page/0/%1? [R=301,NE,NC,L]我的问题是Google正在用url.com/0/id而不是url.com/ phone -number/id来索引所有的新页面,即使你浏览这个网站你会看到url.com/phone-number/id的页面上有电话号码。
我不确定是我的URL重写还是Google机器人的行为导致了这个问题。
发布于 2013-09-26 14:34:26
不要在上面的规则中使用R=301,因为301表示永久重定向。使用302 (临时重定向):
RewriteCond %{QUERY_STRING} ^id=(\d+)$ [NC]
RewriteRule ^page\.php$ /page/0/%1? [R=302,NC,L]https://stackoverflow.com/questions/19018662
复制相似问题