我的 apache2.4 Web 服务器中有以下配置:
<FilesMatch "(^\.|wp-config\.php|xmlrpc\.php|(?<!robots)\.txt|(liesmich|readme)\.*)">
Require ip 216.151.209.64 216.151.209.127 66.135.48.128 66.135.48.255 69.174.248.128 69.174.248.255 76.74.255.0 76.74.255.127 216.151.210.0 216.151.210.127 76.74.248.128 76.74.248.255 76.74.254.0 76.74.254.127 207.198.112.0 207.198.113.255 207.198.101.0 207.198.101.127 198.181.116.0 198.181.119.255 192.0.64.0 192.0.127.255 66.155.8.0 66.155.11.255 66.155.38.0 66.155.38.255 72.233.119.192 72.233.119.255 209.15.21.0 209.15.21.255
</FilesMatch>
好吧,如果我example.com/xmlrpc.php
从有效 IP(例如216.151.209.64
)调用,我仍然会得到401
。我做错了什么?
答案1
- robots 规则是错误的,因为任何文件 .txt 都会匹配该正则表达式,甚至是 robots.txt。
所以你需要(?<!robots)\.txt
改变(!robots\.txt)
401
错误意味着您尚未登录。此处Require ip
应触发403
错误。这意味着,要访问这些文件,您需要登录并使用列表中的 IP。