4
在我.htaccess
我設置:的RewriteCond與SETENV
SetEnv APPLICATION_ENV development
我要檢查,如果APPLICATION_ENV
等於development
然後運行app_dev.php
,否則app.php
SetEnv APPLICATION_ENV development
RewriteCond %{ENV:APPLICATION_ENV} development
RewriteRule .? %{ENV:BASE}/app_dev.php [L]
RewriteRule .? %{ENV:BASE}/app.php [L]
但是它不工作 - 始終運行app.php
腳本。我應該如何解決它?
你是對的,對此的解釋是[Apache文檔(HTTP中://httpd.apache.org/docs/2.2/en/mod/mod_env.html#setenv):該指令[SetEnv]設置的內部環境變量是在大多數提前請求處理指令運行後設置的,例如訪問控制和URI到文件名映射。如果您正在設置的環境變量是輸入到處理的早期階段(如RewriteRule指令)的輸入,則應該使用SetEnvIf設置環境變量。 – julp
我已經在apache2上測試過這個問題,因爲OP沒有更好的結果。 – jacouh
@ julp啊,謝謝,我不明白我在閱讀時可能會錯過它。很高興在官方文檔中解釋它。 – Qben