我只想将此文件列入**.well-known**目录白名单。
我的htaccess文件
Options -Indexes
RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]
<IfModule mod_rewrite.c>
RewriteCond %{SCRIPT_FILENAME} -d [OR]
RewriteCond %{SCRIPT_FILENAME} -f
RewriteRule "(^|/)\." - [F]
</IfModule>
我的尝试
第一次
结论!我只想将security.txt文件列入白名单,该文件仅位于**.well-known**目录中
1条答案
按热度按时间pprl5pva1#
由于
REQUEST_URI
服务器变量始终以斜杠开头,因此表达式!^public
始终成功,因此此 condition 是错误得.(From我假设您在
/public
子目录中必须有另一个.htaccess
文件,否则您将得到一个重写循环。)一旦你意识到这一点,然后你可以修改规则的方式,你已经尝试过。例如:
但是,您的其他规则会封锁所有以点开头的实体档案/目录要求,因此该要求仍会被封锁(以403 Forbidden)。此规则也不适用于其他要求(它必须在重新写入
/public
子目录 * 之前 *)。您最好在文件开头将例外作为单独的规则。例如,尝试以下操作:
该规则上的
<IfModule>
Package 器是多余的。