在301重定向后,谷歌发现了奇怪的网址

时间:2014-06-04 09:00:35

标签: php .htaccess redirect

我在.htaccess中有以下重定向:

Options -MultiViews

    RewriteBase /
    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]

效果很好。 也到位:

<base href="/" />

然而,在这个页面上,我有链接到其他页面,当你点击它们时它们正常工作。它们的定义如下:

<a href="http://www.mysite.co.uk/Roland-HPi50e-Digital-Piano-in-Rosewood/518">
<img src="/files/images/special_roland_hpi50e_160x500px.png" alt="Roland HPi Pianos">
</a>

问题是 - 谷歌做了一些奇怪的事情,例如:

http://www.mysite.co.uk/a product/Roland-HPi50e-Digital-Piano-in-Rosewood/518

有没有人可以帮我解决这个问题,因为我不知道是什么原因造成的。 欢迎任何帮助。

2 个答案:

答案 0 :(得分:0)

可能有逃生字符串问题,试试这个,希望这会对你有帮助

RewriteEngine On
RewriteCond %{QUERY_STRING} ^out=([^&]+)
RewriteRule ^/?$ http://www.mysite.co.uk/Roland-HPi50e-Digital-Piano-in-Rosewood/518 [L,R=301]

答案 1 :(得分:0)

删除此标记:

<base href="/" />

对于修复图像/ css路径,请在css,js,images文件中使用绝对路径,而不是相对路径。这意味着您必须确保这些文件的路径以http://或斜杠/开头。