![在 Apache.conf 中更改允许覆盖后出现内部服务器错误(Ubuntu)](https://linux22.com/image/661839/%E5%9C%A8%20Apache.conf%20%E4%B8%AD%E6%9B%B4%E6%94%B9%E5%85%81%E8%AE%B8%E8%A6%86%E7%9B%96%E5%90%8E%E5%87%BA%E7%8E%B0%E5%86%85%E9%83%A8%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%94%99%E8%AF%AF%EF%BC%88Ubuntu%EF%BC%89.png)
AllowOveride
更改为后我遇到错误ALL
,然后出现内部服务器错误。
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
有人能帮我解决这种情况吗?我的 /var/www/html/projecroot 文件夹中有 .htaccess 文件,项目的内部导航存在问题。
谢谢。
答案1
我已经解决了我的错误,我的.htaccess 文件出现了问题,并且 Mod Filter Provider 语法在 Apache 版本 2.4 中发生了变化,而我的 .htaccess 文件具有来自 Apache 版本 2.2 的 Filter 提供程序。
解决方案
- 在 .htaccess 中将过滤器提供程序更改为 apache 2.4
允许覆盖所有
启用重写模式 apache,然后重新启动 apache 2。
答案2
指令AllowOverride All
启用.htaccess
所以这意味着你的 .htaccess 中有一个语法错误,当未激活 AllowOverride 时,不会触发该错误,因为未读取 .htaccess。
答案3
我遇到了同样的问题,我尝试了几种解决方案,但没有希望。直到我发现我需要启用 apache 标头,下面是我使用的命令
sudo a2enmode headers
sudo service apache2 restart
这解决了我的问题。
答案4
就我而言,问题似乎出在 .htaccess 文件上,该文件试图使用 GZIP,但似乎我的服务器没有它。
因此,没有地方说我的 httpd.conf 缺少 GZIP 库(该行已被注释)。我只需删除注释,我们就可以开始了。
对于经历过同样情况的人,完整的解释这里