我想用.htaccess 编写简单的if/else条件
以下是用php编写的代码。
if(isset($_GET['get'])){
header('Access-Control-Allow-Origin: *');
}
有可能和htaccess 有同样的条件吗
if(isset($_GET['get'])){
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
}
您可以使用与PHP代码等效的.htaccess。您当然不能直接在PHP中调用.htaccess代码。
因此,要根据查询参数的存在有条件地设置标头,您将执行类似的操作
RewriteEngine on
RewriteCond %{QUERY_STRING} (^|&)get=[^&]+ [NC]
RewriteRule ^ - [env=GET]
Header set Access-Control-Allow-Origin "*" env=GET
只需确保mod_headers模块也已加载即可。
请注意,当且仅当get
带有某个值时,上述正则表达式才会通过。我相信PHP的isset($_GET['get'])
会返回true
,即使get
被接收为空。为了匹配这种行为,您需要使用(^|&)get(=|&|$)
。