如何解决.htaccess 文件在启用 mod_rewrite 模块的 ubuntu 上提供内部服务器错误
在根文件夹中上传 .htaccess 文件时收到 500 内部服务器错误。我正在将 ubuntu 与 apache 一起使用,当我在浏览器中输出 PHPinfo 时,我可以看到启用了重写模块。我尝试了很多方法,例如删除虚拟主机并创建新虚拟主机以及启用和禁用重写 mod,但没有任何效果。
这里是 sudo a2enmod rewrite 的输出
Module rewrite already enabled
我还在 000-default.conf vhost 文件中添加了以下代码
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
并且AllowOverride all也在apache2.conf文件中添加
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
</Directory>
所以,最后这里是我的 .htaccess 文件
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.PHP [L]
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
我认为 .htaccess 文件的内容没有任何问题,因为即使我在 .htaccess 文件中添加以下代码进行测试,我也会看到相同的 500 内部服务器错误。
<IfModule mod_rewrite.c>
RewriteEngine On
</IfModule>
<IfModule takes one argument,Container for directives based on existence of specified modules
提前致谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。