0

我的网站在页面之间的 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带有电话号码的页面。

我不确定是我的 URL 重写还是 Google bot 的行为导致了这种情况。

4

1 回答 1

0

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

RewriteCond %{QUERY_STRING} ^id=(\d+)$ [NC]
RewriteRule ^page\.php$ /page/0/%1? [R=302,NC,L]
于 2013-09-26T06:34:26.403 回答