Apache 将路径重定向到根目录

Apache 将路径重定向到根目录

我正在尝试重定向http://example.com/* 到http://example.com/但每次我都会遇到重定向循环。这有什么不对吗?这两个(或任何其他正则表达式组合)都不起作用:

RedirectMatch temp ^/.+$ http://example.com
RedirectMatch temp ^/.+$ http://example.com/

这总是匹配的,并且正在创建重定向循环。

答案1

因此,您希望将任何非绝对根目录example.com暂时重定向到example.com。如果是这样,我建议您尝试以下操作:

RewriteEngine on
RewriteRule ^(.*)$ / [L,R=307]

或者可能是这样:

RewriteEngine on
RewriteRule ^.+$ / [R=307,NC,L]

编辑:如果您需要在 URL 末尾添加斜杠,您可以这样做;使用上面的第二个示例:

# Settings for adding a trailing slash to the URL
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^(.*)$ http://%{HTTP_HOST}$1/ [R=301,L]

RewriteEngine on
RewriteRule ^.+$ / [R=307,NC,L]

还,这个网站有一个很好的/简洁的解释RedirectMatch(mod_alias) 和RewriteRule(mod_rewrite)之间有什么区别。

答案2

RedirectMatch temp (example.com)/.*$ $1/

相关内容