Centos htaccess没有被阅读

时间:2011-12-18 12:37:38

标签: .htaccess lamp

我正在开发一台新服务器,并通过yum安装了“Web Server”组。 Php和mysql工作正常,但我无法让.htaccess工作。

继承我的测试.htaccess文件:

WASD_TEST_CALL_ERROR

我把它作为.htaccess放在一个测试文件夹中,并附带一个index.html页面。 它不是报告错误而是继续加载索引页面而不显示任何错误。

由于

5 个答案:

答案 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上,以下内容应该有所帮助:

  1. 字符串 AllowOverride控制/etc/httpd/conf/httpd.conf中的.htaccess文件中可以放置哪些指令:将AllowOverride None替换为AllowOverride All

  2. 在/etc/httpd/conf.modules.d/00-base.conf中,检查 rewrite_module 必须是:

    LoadModule rewrite_module modules/mod_rewrite.so

  3. .htaccess文件必须位于 / var / www / html /

  4. 示例内容.htaccess:

    AuthUserFile /var/www/.htpasswd AuthGroupFile /dev/null AuthName "Please Enter Password" AuthType Basic Require valid-user

  5. 检查并重新启动Apache:

    httpd -t

    /bin/systemctl restart httpd.service

答案 3 :(得分:0)

  

非常简单   请找到下图enter image description here

答案 4 :(得分:0)

  1. /etc/httpd/conf/httpd.conf:将 AllowOverride None 替换为 AllowOverride All

  2. httpd -M | grep rewrite_module 应该结果

    enter image description here

<块引用>

rewrite_module(共享)

即使在确保以上所有内容都到位后仍然无法正常工作?然后确保您的 .htaccess 在顶部有下面的行。

RewriteEngine On