我有一个带有授权的httpd.conf,可以运行内部网站的所有部分。但是,我需要删除一个位置所需的授权。
我尝试在.htaccess中使用<Location>
和<LocationMatch>
为该位置设置“允许任意”,但它不起作用,因为它仍然要求在该位置输入密码
我的.htaccess看起来像这样:
<Location />
AuthName "Who are you ?"
AuthUserFile /var/www/.htpasswd
AuthType Basic
Require valid-user
Order deny,allow
Deny from all
Allow from 192.150.18.101
Allow from 192.168.1.74
Satisfy Any
</Location>
<Location /upload/add_image>
Order allow,deny
Deny from none
Allow from all
Satisfy Any
</Location>
答案 0 :(得分:0)
您是否处于这种情况(来自Apache文档http://httpd.apache.org/docs/trunk/en/mod/core.html#location):
何时使用
用于将指令应用于文件系统之外的内容。对于存在于文件系统中的内容,请使用和。例外情况是,这是将配置应用于整个服务器的简便方法。
因为:
最重要的是,不应使用指令来控制对文件系统位置的访问。由于几个不同的URL可能映射到相同的文件系统位置,因此可以规避这种访问控制。
否则,您可以使用<Directory>
(使用正确的路径)而不是<Location>
。
答案 1 :(得分:0)
显然,您正在使用某种CGI来处理上传。该脚本可能位于其自己的“位置”中,该位置也需要以轻松的权限列出。
我刚用the same problem - 使用Apache 2.4 - 并且必须将具有相同(降低)authz规则的FastCGI自己的前缀(在我的情况下为/ php-fpm)添加到Locations列表中。 / p>