我正在通過php函數apache_setenv設置apache環境變量。如何將Apache環境變量傳遞給.htaccess中的url
apache_setenv("EXAMPLE_VAR", "Example Value");
但我在訪問中.htaccess
這個變量的問題,我不能夠在反正裏面使用的.htaccess這個環境變量。但我可以通過php getenv()
訪問它。
問題不僅僅是通過php設置變量我無法訪問由.htaccess
本身設置的env變量。
我已經試過
假設環境變量是www.domain.com
。
RewriteEngine On
RewriteCond ^(.*)$ test.php?id=%{ENV:VARIABLE} [L]
&
RewriteEngine On
RewriteCond %{ENV:VARIABLE} ^www.(.+)
RewriteRule^test.php?id=%1 [L]
與其他類似的測試只是驗證環境變量設置和運行。
Mod_env和mod_rewrite已打開。
一個有趣的問題++ – anubhava
父進程(Apache)完全不能訪問子進程中改變或設置環境變量( PHP)。 –
mod_rewrite模塊完成運行後調用PHP模塊,因此在重寫規則中看不到通過PHP進行的更改。 – anubhava