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了,没想到问题如此的简单,哎,白绕圈了。