.htaccess 谷歌没有像预期的那样索引我的URL

.htaccess 谷歌没有像预期的那样索引我的URL,.htaccess,url,mod-rewrite,seo,.htaccess,Url,Mod Rewrite,Seo,我的站点在页面之间传递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} ^/pa

我的站点在页面之间传递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]
我的问题是,谷歌正在用url.com/0/id而不是url.com/phone-number/id为所有新页面编制索引,即使你浏览该网站时,你会看到url.com/phone-number/id中包含电话号码的页面


我不确定是我的URL重写还是谷歌机器人的行为导致了这种情况

不要对上述规则使用
R=301
,因为301表示永久重定向。使用302(临时重定向):

RewriteCond %{QUERY_STRING} ^id=(\d+)$ [NC]
RewriteRule ^page\.php$ /page/0/%1? [R=302,NC,L]