apache 使用 .htaccess 导致500错误

a环境pache+mysql+php ,一切正常。上传,出现了500错误。于是乎查原因:

然后,看到网站根目录下面有个 .htaccess 文件,于是想到会不会是此文件导致的,先将其改名。再次打开网站,可以正常访问了,但是之前的伪静态的页面,都无法显示了。

找出了问题所在,就好解决了。看来是apache默认装上之后,还是不支持 .htaccess 的,那么开始修改 httpd.conf 文件

首先,找到

#LoadModule rewrite_module modules/mod_rewrite.so

将前面的 #去掉,变成

LoadModule rewrite_module modules/mod_rewrite.so

然后查找 AllowOverride None

将其改为 AllowOverride All

最后,保存httpd.conf 文件,并且重启apache 服务,再次打开网站,一切正常。

在百度和谷哥上找了很多方法,现面简单列举一下,权当以后的参考吧。

方法一(没成功):
打开.htaccess,把 Options +FollowSymLinks注释掉,# Options +FollowSymLinks,因为http.conf里有;
打开http.conf,把这句LoadModule rewrite_module modules/mod_rewrite.so前的注释符号去了。

方法二(没成功):
把.htaccess中的#RewriteBase / 去掉#

方法三(没成功):
还有很多人说是文件权限问题、.htaccess语法有误。在我这里都没有出现。

最终解决方法:
我看着自己apache配置文件是突然看到LoadModule rewrite_module modules/mod_rewrite.so,他的apache是不是没有开启mod_rewrite?
Ubuntu执行sudo a2enmod rewrite命令。然后重启apache :sudo /etc/init.d/apache2 restart.

ok了,没想到问题如此的简单,哎,白绕圈了。

原文地址:https://www.cnblogs.com/dashafa/p/4011577.html