使用htaccess

时间:2015-09-14 08:18:39

标签: .htaccess mod-rewrite redirect

这可能看起来像一个奇怪的问题,但由于我的某个网页上的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/也可以。任何人都可以看到我所做出的明显错误,这些错误阻止了它的工作吗?

1 个答案:

答案 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]

或类似的变化