Zend的框架.htaccess VS密码保护.htaccess

时间:2013-11-05 12:17:07

标签: .htaccess zend-framework password-protection

我们对我们服务器上托管的所有网站使用zend框架,我面临的情况是,我没有看到任何方法,并且有办法让它工作。

我的服务器使用CentOS + php 5.3 + WHM / cPanel。

其中一个网站必须有受密码保护的文件夹:http://website.com/files/protected_files

但是大家都知道,目前位于/home/website/public_html的Zend的.htaccess并没有让/home/website/public_html/files/protected_files/.htaccess正常工作。

如果我禁用Zend的.htaccess URL提示输入密码,当我输入时我可以看到我的文件,但是当我启用Zend的.htaccess时,它会将该URL视为真正的URL并且会丢失无法找到页面的错误。

这是我的Zend的.htaccess:

Rewriteengine on 
RewriteRule !\.(js|txt|ico|gif|GIF|jpg|JPG|png|PNG|css|swf|pdf|xml|XML|eot|svg|ttf|woff)$ index.php 

这是位于protected_files

中的.htaccess
AuthType Basic 
AuthName "protected" 
AuthUserFile "/home/website/.htpasswds/public_html/files/protected_files/passwd" 
require valid-user 

我在这里缺少什么。为什么不起作用?

我尝试启用Allowoverride AuthConfig / AllowOverride none / AllowOverride all,但所有这些都无效。 我还尝试将.htacces内容从protected {files}放入httpd.conf内,但它不起作用。

我对服务器有root权限,所以任何提示都会有所帮助!

1 个答案:

答案 0 :(得分:0)

参见ZF2的Skeleton Application .htaccess

https://github.com/zendframework/ZendSkeletonApplication/blob/master/public/.htaccess

从这个配置中可以看出,如果文件不存在,它只会将请求重写为index.php。这与您配置的当前规则形成对比,如果它没有您指定的扩展名,则重写任何内容。