SetEnvIf HTTP_HOST不起作用

Ale*_*lex 2 .htaccess apache2 setenv ifdefine http-host

我无法让它工作.htaccess的这部分,IfDefine永不运行.我做错了什么,setenvif启用了mod.

RewriteBase /

SetEnvIf HTTP_HOST ^localhost$ local
<IfDefine local>
  RewriteBase /codeigniter-app/
</IfDefine>

SetEnvIf HTTP_HOST ^testing.alex.com$ testing
<IfDefine testing>
    RewriteBase /app/
</IfDefine>
Run Code Online (Sandbox Code Playgroud)

这是基于:使用mod_rewrite可以在RewriteCond中指定RewriteBase吗?

编辑: 完成上述任何其他方式?

ema*_*ref 9

SetEnvIf适用于请求标头.所以你想使用HOST而不是HTTP_HOST.例如

SetEnvIf HOST ^localhost$ local
Run Code Online (Sandbox Code Playgroud)


Lin*_*een 5

SetEnvIf设置环境变量。它没有定义供 Apache 使用的新常量。

查看SetEnvIf手册并将其与<IfDefine>手册进行比较。