我的 .Htaccess 文件出了什么问题?我正尝试将整个网站永久重定向到 index.htm 文件

我的 .Htaccess 文件出了什么问题?我正尝试将整个网站永久重定向到 index.htm 文件

这导致出现 500 内部服务器错误。有什么建议吗?我尝试了各种示例,但我认为我遗漏了一些东西...

RewriteEngine On
RewriteCond  %{request_uri}!^ /index\.htm
RewriteRule  ^(.*) /index\.htm [R=permanent,L]

如果我导航到主页,它会显示主页,但任何符合条件的内容(除 index.htm 之外的所有内容都会给服务器 500)

编辑:使用上述代码,它现在不会给出任何 500 错误,但它不会重定向到任何页面

答案1

您不是在重定向到/index.htm,而是在重定向到 ,/就 Apache 而言,这是不同的。

尝试:RewriteRule ^(.*)$ /index.htm [R=permanent,L]

答案2

您的重写条件没有很好地分割,并且您的 Not-StartWith 是前一个参数的一部分。:) 您需要在之后%{REQUEST_URL}和之前留一个空格!^

RewriteEngine On
RewriteCond  %{REQUEST_URI} !^/index\.htm$
RewriteRule  ^(.*) /index.htm [R=permanent,L]

相关内容