.htaccess 拒绝访问大多数 xml 文件

.htaccess 拒绝访问大多数 xml 文件

最近我的一个 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>

之后,它就像魔法一样发挥作用。

相关内容