我读了很多与着名的.htaccess文件相关的服务器错误500个问题...但我仍然没有找到这个错误的答案。
我有一个用于测试.htaccess文件的文件夹。
=> http://localhost/xampp/example/
我复制了示例文件夹中的.htaccess,我收到服务器错误500
我检入了我的error.log文件,发现了这个:.htaccess RewriteEngine not allowed here
但我在httpd.conf文件中将所有AllowOverride None
更改为AllowOverride All
我还取消注释了行LoadModule expires_module modules/mod_expires.so
错误日志说:ExpiresActive not allowed here
实际发生了什么?...我该如何解决这个错误?
这就是我现在在.htaccess文件中的内容......
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 days"
</ifModule>
答案 0 :(得分:3)
当我尝试使用Apache AllowOverride
配置参数中不允许的.htaccess功能时,我遇到了这个错误。如果您可以访问Apache配置,请尝试将其设置为您需要的级别,或者All
以允许完整的.htaccess功能。
答案 1 :(得分:2)
首先,转到apache的httpd.conf文件 我的情况是“C:\ xampp \ apache \ conf \ httpd.conf”
以#开头的行表示这些是注释 删除以下提到的行的注释
LoadModule deflate_module modules/mod_deflate.so
LoadModule expires_module modules/mod_expires.so
LoadModule headers_module modules/mod_headers.so
答案 2 :(得分:0)
今天我遇到了同样的问题。在我的情况下,问题是因为我用UTF-8编码保存了.htaccess
文件,但我忘了删除BOM(字节顺序标记)。当我在没有BOM的情况下保存为UTF-8时,问题就解决了!