Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 为什么';这个.htaccess代码行吗?_Apache_.htaccess - Fatal编程技术网

Apache 为什么';这个.htaccess代码行吗?

Apache 为什么';这个.htaccess代码行吗?,apache,.htaccess,Apache,.htaccess,被赋予使用此代码的权限,并在不更改它的情况下使用它 <FilesMatch "^(?!log_request\.php).*$"> AuthUserFile /protect/.htpasswd AuthName "Tester's test test" AuthType Basic Require valid-user </FilesMatch> ErrorDocument 401 /log_request.php AuthUserFile/pro

被赋予使用此代码的权限,并在不更改它的情况下使用它

<FilesMatch "^(?!log_request\.php).*$">
  AuthUserFile /protect/.htpasswd
  AuthName "Tester's test test"
  AuthType Basic
  Require valid-user
</FilesMatch>

ErrorDocument 401 /log_request.php

AuthUserFile/protect/.htpasswd
AuthName“测试人员的测试”
AuthType Basic
需要有效用户
ErrorDocument 401/log_request.php
我不知道FilesMatch“^(?!log\u request.php.*$”行的函数是什么,只是文件应该匹配。当我尝试查看.htpasswd文件时,会出现内部服务器错误。

请尝试以下代码:

<FilesMatch "^(?!.*?log_request\.php).*$">
  AuthUserFile /protect/.htpasswd
  AuthName "Tester's test test"
  AuthType Basic
  Require valid-user
</FilesMatch>

ErrorDocument 401 /log_request.php

您可以使用ErrorDocument 401/log_request.php将所有这些请求发送到某个php脚本。
查看本教程了解更多信息:

您是否查看了日志?
/protect/.htpasswd
是否存在(作为一个绝对路径-而不是相对路径)?是的,它应该是一个绝对路径您做了什么更改,为什么要这样做?我试图真正理解我所看到的。为什么第一行的log_请求的斜杠是倒过来的呢?更改在regex:
“^(?!*?log_请求\.php)中.*$
确保在请求URI中的任何位置否定匹配
log\u request\.php
*?
贪婪地匹配它之前的任意文本。啊,好吧,但我仍然收到内部服务器错误。我试图直接从网站访问.htaccess和.htpasswd,以便目录正确。Do.htaccess/.htpasswd需要特定权限吗?刚刚测试,删除.htaccess的filematch部分会将消息从内部服务错误更改为仅禁止.htaccess和.htpassword,但未发送任何身份验证。您需要Error.log以了解500错误的实际原因。
filematch
工作正常,我已经对其进行了测试。问题可能在您的密码文件中。
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