微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

.htaccess 文件在启用 mod_rewrite 模块的 ubuntu 上提供内部服务器错误

如何解决.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>

我在 apache error.log 文件中看到这个错误

<IfModule takes one argument,Container for directives based on existence of specified modules

提前致谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。