.htaccess 在htaccess中,如何为除一个之外的所有URL设置响应头?

xkrw2x1b  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(124)

我想用这个规则:

<IfModule mod_headers.c>
Header always set X-FRAME-OPTIONS "DENY"
</IfModule>

但只限于我网站的首页。
也就是说,我有一个后台:example.com/gestion,我不想套用规则,只想将规则套用至example.com(因此所有不含gestion的URL)
你知道吗?

weylhg0b

weylhg0b1#

尝试使用Apache <If>表达式匹配所有URL,除了以/gestion开头或包含多个路径段或包含点(即实际文件)的URL。
例如:

<If "%{REQUEST_URI} =~ m#^/(?!gestion)[\w-]*$#">
    Header always set X-FRAME-OPTIONS "DENY"
</If>

这会使用负向前查找来避免匹配任何以/gestion开头的URL。
我假设你的“首页”URL只包含单一路径段,包含[0-9a-zA-Z_-]范围内的字符。
<IfModule> Package 器不是必需的(除非这是 * 可选 * 的,并且您在可能未启用mod_headers的多个服务器上使用相同的配置-不太可能)。

相关问题