最近我的一个 Joomla 网站被黑客入侵了,所以我正在尝试加强该网站的安全性。推荐的 .htaccess 中有一个部分可以限制外部访问扩展附带的 xml 文件。但是,它也阻止我的 sitemap.xml 文件被访问。
我如何允许某个文件同时保留其余文件?
这是默认代码:
<Files ~ "\.xml$">
Order allow,deny
Deny from all
Satisfy all
</Files>
我的修改导致了 500 错误:
<Files ~ "(?!sitemap)\.xml$">
Order allow,deny
Deny from all
Satisfy all
</Files>
答案1
FilesMatch 行有一个多余的“<”。它应该是:
<FilesMatch "(?!sitemap)\.xml$">
答案2
您应该<FilesMatch>
按照文档使用这里
另外,我认为你的正则表达式应该改为(?<!sitemap)\.xml$
。像这样:
<FilesMatch "(?<!sitemap)\.xml$">
Order allow,deny
Deny from all
</FilesMatch>
答案3
我最终决定不再弄乱正则表达式。
我补充道:
<Files ~ "sitemap\.xml$">
Order allow,deny
Allow from all
</Files>
之后,它就像魔法一样发挥作用。