我有一組使用mod_vhost_alias的apache(2.4.25)站點,因此一個虛擬主機服務多個子域。我可以以某種方式選擇.htaccess中的環境變量嗎?
我希望能夠設置一個環境變量,說
<VirtualHost _default_:443>`
ServerNameAlias *.whatever-it-is.com
SetEnv HOME_URL https://www.whatever-it-is.com/
# etc
然後在我的各種網站.htaccess文件拿起變量。因此,網站可能允許訪問子文件夾或特定文件,並將所有內容重新導回到主網站。
php_flag engine off
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/?
RewriteCond %{REQUEST_URI} !^/myapp[/]?
RewriteCond %{REQUEST_URI} !^favicon.ico
RewriteRule (.*) %{HOME_URL} [R=301,L]
# ^--- not working, how would you do it?
然後在我需要所有站點改變HOME_URL的情況下,我可以將其應用於虛擬主機和每個子域數十家網站將它撿起來。
*也試過
RewriteRule (.*) %{ENV:HOME_URL} [R=301,L]
http://httpd.apache.org/docs/2.0/env.html 的%{ENV:變量}的TestString中的RewriteCond的形式允許的mod_rewrite的重寫引擎作出對環境變量的條件......
'重寫規則(。*)%{ENV:HOME_URL} [R = 301,L]'? – Cyclonecode
也試過'RewriteRule(。*)%{ENV:HOME_URL} [R,L]',按照http://stackoverflow.com/a/7749784/1238884 - 仍然無法正常工作。結束於一個重定向循環,好像環境變量沒有被設置(這是,因爲我可以從php中看到它) – frumbert