Google会创建不存在的网址

时间:2014-06-13 12:21:04

标签: php .htaccess mod-rewrite

我有一个这样的页面:

mysite.co.uk/product.php?id=34-Name-of-the-product

网址被重写为:

rewritecond %{THE_REQUEST} \s/+product\.php\?id=([^\s&]+)&name=([^\s&]+) [NC]
rewriterule ^ %2/%1? [R=301,L]
rewritecond %{REQUEST_FILENAME} !-d
rewritecond %{REQUEST_FILENAME} !-f
rewriterule ^([^/]+)/([^/]+)?$ /product.php?id=$2&name=$1 [L,QSA]

给我以下网址:

mysite/Name-Of-the-product/34

这就是我想要的,但是在这个页面上有一些指向其他产品页面的链接 像这样:

<a href="http://www.mysite.co.uk/product2/35>link to product</a>

现在google正在编写以下网址:

mysite.co.uk/Name-of-the-product/product2/35

你可以看到它丢失了第一个产品的数量。 有没有办法阻止谷歌这样做?

.htaccess文件中还有其他网址重定向(因为我根本不是专家。我不确定这是否正确,如果发现错误请告诉我)

rewritecond %{HTTP_HOST} ^www.mysite2.co.uk$ [OR]
rewritecond %{HTTP_HOST} ^mysite2.co.uk$
rewriterule ^detailed_page\.php(.*)$ "http\:\/\/www\.mysite\.co\.uk\/product\.php$1" [R=301,L]
rewritecond %{HTTP_HOST} ^www.mysite2.com$ [OR]
rewritecond %{HTTP_HOST} ^mysite2.com$
rewriterule ^detailed_page\.php(.*)$ "http\:\/\/www\.mysite\.co\.uk\/product\.php$1" [R=301,L]
rewritecond %{HTTP_HOST} ^www.mysite.co.uk$ [OR]
rewritecond %{HTTP_HOST} ^mysite.co.uk$
rewriterule ^detailed_page\.php(.*)$ "http\:\/\/www\.mysite\.co\.uk\/product\.php$1" [R=301,L]

欢迎任何帮助

0 个答案:

没有答案