我有這個.htaccess文件,但我希望它只在我在現場的時候這樣做。.htaccess if/else取決於{SERVER_NAME}?
有什麼辦法,我可以:我試着用SetEnvIfNoCase
和IfDefine
沒有成功合作
// if server_name looks like example.com to this
// else dont run this bit
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} (auth|register|secure|payment|admin|trading_careers)
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(auth|register|secure|payment|admin|trading_careers)
RewriteRule ^(.*)$ http://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
。真的不知道是否有可能做我想做的事。
預先感謝您。
EDIT(對於未來的讀者解決方案爲例):
// if https is off
RewriteCond %{HTTPS} off
// if server_name like example.com (case insensitive) OR
RewriteCond %{SERVER_NAME} =example.com [NC,OR]
// server_name like www.example.com (case insensitive)...
RewriteCond %{SERVER_NAME} =www.example.com [NC]
RewriteCond %{REQUEST_URI} (auth|register|secure|payment|admin|trading_careers)
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
感謝您的幫助很大。如果您使用的活動網站不同的主機名
RewriteCond %{SERVER_NAME} =www.example.com
@馬庫斯亞當斯:不,我的意思是*弗蘭克請求* SERVER \ _NAME *。 – Gumbo 2010-06-25 17:15:02
@Marcus Adams:在''上下文中也允許使用'ServerName'。 –
Gumbo
2010-06-25 17:21:33
就在我眼前...我怎麼看不到它! ;) 非常感謝! – Frankie 2010-06-25 17:24:32