Apache没有加载htaccess但仍在重写

时间:2016-01-21 07:59:15

标签: php apache .htaccess mod-rewrite url-rewriting

我刚刚在家用电脑上安装了ubuntu作为双启动。

我的htaccess在以下路径中:

/var/www/html/cortana/html/.htaccess

我正在使用标准的apache服务器版本2.4

现在我的Zend Framework项目位于:

/var/www/html/cortana/html/index.php

我们通过浏览器中的http://localhost/cortana/html/index.php访问它。

这是我当前的.htaccess

SetEnv APPLICATION_ENV development
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

现在,当我转到index.php并输入<?php echo getenv('APPLICATION_ENV');die()?>时 我没有回复

此外,这是错误日志:

[Thu Jan 21 03:00:06.542376 2016] [authz_core:error] [pid 5262] [client 127.0.0.1:52981] AH01630: client denied by server configuration: /var/www/html/cortana/html/.htaccess

然而它实际上是使用mod重写模块,因为它处理应用程序中的重定向。此外,如果我从项目html目录中完全删除了htaccess,它仍然有效

我认为由于在/var/www/html根路径中使用了一个项目,这可能是一个apache配置问题。

有关为何不使用提供的htaccess进行项目的任何帮助将非常感谢

1 个答案:

答案 0 :(得分:0)

尝试在.htaccess文件的顶部使用此代码:

order deny,allow
allow from all

如果仍然无效,请通过项目根目录下的.htaccess文件。

修改

或者在virtualhost配置中,您可以添加Require all granted。看看this related question