使用此代码并在不更改的情况下使用它
<FilesMatch "^(?!log_request\.php).*$">
AuthUserFile /protect/.htpasswd
AuthName "Tester's test test"
AuthType Basic
Require valid-user
</FilesMatch>
ErrorDocument 401 /log_request.php
我不知道FilesMatch“^(?!log_request.php)。* $”行的功能是什么,但文件应该匹配。当我尝试查看.htpasswd文件时,我收到内部服务器错误。
答案 0 :(得分:0)
试试这段代码:
<FilesMatch "^(?!.*?log_request\.php).*$">
AuthUserFile /protect/.htpasswd
AuthName "Tester's test test"
AuthType Basic
Require valid-user
</FilesMatch>
ErrorDocument 401 /log_request.php
(?!...)
是一个负面预测,可确保将基本身份验证代码应用于除log_request.php
之外的所有文件
SetEnvIfNoCase
:SetEnvIfNoCase Request_URI "^/(?!log_request\.php).*" HANDLE401
AuthUserFile /protect/.htpasswd
AuthName "Tester's test test"
AuthType Basic
Require valid-user
Satisfy any
Order allow,deny
Allow from all
Deny from env=HANDLE401
答案 1 :(得分:0)
您可以使用ErrorDocument 401 /log_request.php将所有这些请求发送到某些PHP脚本。 有关详细信息,请参阅本教程:http://www.askapache.com/htaccess/htaccess-htpasswd-basic-auth.html