![我的 .Htaccess 文件出了什么问题?我正尝试将整个网站永久重定向到 index.htm 文件](https://linux22.com/image/510726/%E6%88%91%E7%9A%84%20.Htaccess%20%E6%96%87%E4%BB%B6%E5%87%BA%E4%BA%86%E4%BB%80%E4%B9%88%E9%97%AE%E9%A2%98%EF%BC%9F%E6%88%91%E6%AD%A3%E5%B0%9D%E8%AF%95%E5%B0%86%E6%95%B4%E4%B8%AA%E7%BD%91%E7%AB%99%E6%B0%B8%E4%B9%85%E9%87%8D%E5%AE%9A%E5%90%91%E5%88%B0%20index.htm%20%E6%96%87%E4%BB%B6.png)
这导致出现 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]