是否可以使用htaccess条件

Den*_*suk 1 php regex .htaccess mod-rewrite if-statement

我想用.htaccess写简单的if/else条件

这是用php编写的代码.

if(isset($_GET['get'])){
    header('Access-Control-Allow-Origin: *');
}
Run Code Online (Sandbox Code Playgroud)

是否有可能与htaccess具有相同的条件

if(isset($_GET['get'])){
   <IfModule mod_headers.c>
   Header set Access-Control-Allow-Origin "*"
   </IfModule>
}
Run Code Online (Sandbox Code Playgroud)

Rav*_*yal 5

您可以使用PHP代码的.htaccess等效项.你当然不能直接在PHP中调用.htaccess代码.

因此,要根据查询参数的存在有条件地设置标头,您将执行类似的操作

RewriteEngine on

RewriteCond %{QUERY_STRING} (^|&)get=[^&]+ [NC]
RewriteRule ^ - [env=GET]

Header set Access-Control-Allow-Origin "*" env=GET
Run Code Online (Sandbox Code Playgroud)

只需确保mod_headers模块也已加载.


请注意,当且仅当get具有某些值时,上述正则表达式才会通过.我相信即使收到空的 PHP isset($_GET['get'])也会返回.要匹配此行为,您需要使用.trueget(^|&)get(=|&|$)