我正在开发一台新服务器,并通过yum安装了“Web Server”组。 Php和mysql工作正常,但我无法让.htaccess工作。
继承我的测试.htaccess文件:
WASD_TEST_CALL_ERROR
我把它作为.htaccess放在一个测试文件夹中,并附带一个index.html页面。 它不是报告错误而是继续加载索引页面而不显示任何错误。
由于
答案 0 :(得分:29)
确保将AccessFileName设置为.htaccess
在httpd.conf中搜索AccessFileName指令。它定义了分布式配置文件的名称:
grep -i AccessFileName httpd.conf
确保允许用户使用.htaccess文件
您可以在这些文件中放入的内容由AllowOverride指令决定。该指令在类别中指定了在.htaccess文件中找到的指令将被遵守的指令。如果此指令设置为None,则完全忽略.htaccess文件。在这种情况下,服务器甚至不会尝试读取文件系统中的.htaccess文件。
grep -i AllowOverride httpd.conf
当此指令设置为All时,在.htaccess文件中允许任何具有.htaccess Context的指令:
AllowOverride All
保存并关闭文件。重启httpd:
service httpd restart
答案 1 :(得分:3)
您是否在Apache配置中设置了AllowOverride?如果没有,请将AllowOverride从none
设置为all
。
答案 2 :(得分:2)
在CentOS7上,以下内容应该有所帮助:
/etc/httpd/conf/httpd.conf
中的.htaccess文件中可以放置哪些指令:将AllowOverride None替换为AllowOverride All
LoadModule rewrite_module modules/mod_rewrite.so
AuthUserFile /var/www/.htpasswd
AuthGroupFile /dev/null
AuthName "Please Enter Password"
AuthType Basic
Require valid-user
httpd -t
/bin/systemctl restart httpd.service
答案 3 :(得分:0)
答案 4 :(得分:0)