我如何在我的 apache/htaccess 配置中配置它:
我想要对所有文件进行 HTTP 身份验证,但有一个例外。click.php
无需任何身份js/clickheat.js
验证即可从 1.2.3.4 访问这些文件。
我尝试了 FilesMatch,但我无法反转它。所以我不能放在require valid-user
那里。我想使用SetEnv
,但我以后如何检查它?
<FilesMatch "(click\.php|clickheat\.js)">
# what here?
</FilesMatch>
我的另一个想法是使用 mod_rewrite。好吧,我可以允许从给定主机访问这两个文件并从其他任何地方拒绝它。但是我如何将它与 HTTP-Authentication 链接起来?
# allows access to two files from the given IP
RewriteCond %{REMOTE_ADDR} 1\.2\.3\.4
RewriteCond %{REQUEST_URI} ^/click.php [OR]
RewriteCond %{REQUEST_URI} ^/js/clickheat\.js
RewriteRule (.*) - [L]
# denies everything else
RewriteRule (.*) - [F,L]
所以我最喜欢的解决方案是通过 RewriteCond/RewriteRule 启用 HTTP-Auth。
背景(或我为什么要这样做):我正在尝试确保 clickheat (http://www.labsmedia.com/clickheat/index.html) 安装。1.2.3.4 是远程运行 mod_proxy 并将对这些文件的访问重定向到我们的 clickheat 主机。