我的网站在页面之间的 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 的行为导致了这种情况。