小编geo*_*rge的帖子

如何根据URL设置Apache条件标头?

我想根据URL设置不同的HTTP标头。在我的特定情况下,我希望特定的URL(例如regex ^/abc$)具有与所有其他URL 不同的头。

我正在尝试:

<IfModule mod_headers.c>
    <If "%{REQUEST_URI} =~ /^\/abc$/">
        Header set Content-Security-Policy: "default-src 'none'; style-src 'self' 'unsafe-inline';"
    </If>
    <Else>
        Header set Content-Security-Policy: "default-src 'none'; child-src https: *.youtube.com 'self'; connect-src 'self'; font-src 'self'; img-src 'self'; script-src https: *.ytimg.com *.youtube.com 'self'; style-src 'self';"
    </Else>
</IfModule>
Run Code Online (Sandbox Code Playgroud)

但是,这似乎不起作用,日志显示:

Cannot parse condition clause: Failed to compile regular expression
Run Code Online (Sandbox Code Playgroud)

我在做错什么,如何使它起作用?

我还尝试了其他正则表达式形式m#^/abc$#,然后没有错误,但是If条件不匹配。

regex apache .htaccess if-statement header

5
推荐指数
1
解决办法
8653
查看次数

标签 统计

.htaccess ×1

apache ×1

header ×1

if-statement ×1

regex ×1