修改工作AddHandler以仅匹配CURRENT目录中的文件,而不匹配子目录中的文件

问题描述 投票:0回答:2

以下允许在两个XML文件上执行PHP的工作正常:

<FilesMatch ^(opensearch|sitemap)\.xml$>
AddHandler application/x-httpd-php5 .xml
</FilesMatch>

[然而不幸的是,此规则也将允许在任何子目录中发生这种情况。

  • / opensearch.xml,有效/所需的匹配项
  • / henchman24 / opensearch.xml,正常工作/ NOT所需的匹配项

我们如何强制Apache only匹配当前目录中的文件和not子目录?

我真的很想:

  • 避免在每个可能的子目录中添加子.htaccess文件。
  • 避免使用绝对服务器路径。
apache security addhandler
2个回答
0
投票

FileMatch可以在FileMatch指令的上下文中使用,以匹配特定文件夹中的文件。

如果在波浪号Directory之前,可以将模式参数设置为Directory的正则表达式。示例模式可以匹配以Directory开头和结尾的路径。

~

0
投票

您是否在RewriteRule中尝试过H =?

/

在htaccess中进行重写具有一个内置属性,即任何子目录中的那些文件名都会在regex测试所针对的字符串中具有子目录,因此锚定的regex将失败。

© www.soinside.com 2019 - 2024. All rights reserved.