这可能看起来像一个奇怪的问题,但由于我的某个网页上的href错误(现已修复),Google网站管理员工具告诉我,我有数以千计的损坏网址:
http://www.website.com/folder/的 http://www.website.com/folder /article/subject/content.php?id=12345
它应该是这样的:
http://www.website.com/folder/article/subject/content.php?id=12345
我想将它们重定向到正确的位置,以满足我的网站站长工具错误列表。正确的网址中没有 http://www.website.com/folder 。
我尝试了很多方法来重定向此网址而没有第二个 http://www.website.com/folder ,但它根本没有任何效果或者引发内部服务器错误/ 503错误
以下是我所拥有的:
RewriteCond %{REQUEST_URI} ^/folder/http://www\.website\.com/folder/article/subject/(.*)\.php?id=(.*) [NC]
RewriteRule ^folder/http://www\.website\.com/folder/article/subject/(.*)\.php?id=(.*)$ /folder/article/subject/$1.php?id=$2 [R=301,L]
我已经在我的.htaccess文件中成功运行了重定向,但是这个'网址在网址中我很难过。
理想情况下,我会重定向确切的网址,但即使用通配符代替http://www.website.com/也可以。任何人都可以看到我所做出的明显错误,这些错误阻止了它的工作吗?
答案 0 :(得分:1)
我有2个变种。
1)你有一个规则,将几个斜杠重写为1 然后写
RewriteRule ^folder/http:/www\.website\.com/folder/article/subject/(.*)\.php?id=(.*)$ /folder/subject/article/$1.php?id=$2 [R=301,L]
注意http:/
2)尝试
RewriteRule ^folder/http.//www\.website\.com/folder/article/subject/(.*)\.php?id=(.*)$ /folder/subject/article/$1.php?id=$2 [R=301,L]
或
RewriteRule ^folder/http../www\.website\.com/folder/article/subject/(.*)\.php?id=(.*)$ /folder/subject/article/$1.php?id=$2 [R=301,L]
或类似的变化