我的网站在页面之间的URL中传递变量(电话号码)。它从数据库中获取电话号码,并将URL链接写为:url.com/phone-number/id。
但是,如果目标页面没有电话号码,则将其替换为0,因此, url.com/0/id。
在我的.htaccess文件中重写旧的查询php参数来清理url我在重写时放了一个默认的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用于包含电话号码的页面。
我不确定这是否是我的网址重写或谷歌机器人的行为导致了这一点。
答案 0 :(得分:0)
不要将R=301
用于上述规则,因为301表示永久重定向。使用302(临时重定向):
RewriteCond %{QUERY_STRING} ^id=(\d+)$ [NC]
RewriteRule ^page\.php$ /page/0/%1? [R=302,NC,L]