301重定向在新URL中添加双斜杠

时间:2016-06-17 15:55:13

标签: apache .htaccess redirect mod-rewrite

我在Apache中设置301重定向时遇到问题。我希望自动重定向访问旧域中的页面的任何人转到新域(有一个例外:它不会重定向特定的子文件夹)。这就是我现在所拥有的:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/subfolder
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=301,L]

所以现在,异常工作正常 - 我随时可以访问该子文件夹下的任何页面,例如

http://www.olddomain.com/subfolder/temp_page.html

它会维护原始网址而不是重定向,就像我想要的那样。

但是当我转到该子文件夹之外的任何页面时,重定向将为新URL添加一个双斜杠。例如,如果我去

http://www.olddomain.com/temp_page.html

它会将其重定向到

http://www.newdomain.com//temp_page.html

我在这里和其他网站上尝试了各种建议的修复程序 - 但似乎没有任何工作。任何你可以通过我的方式的帮助将不胜感激。提前谢谢!

1 个答案:

答案 0 :(得分:0)

要删除多余的斜杠,可以使用:

RewriteCond %{THE_REQUEST} //
RewriteRule .* $0 [R]