2014-03-25 29 views
1

使用.htaccess是否可以包含一個基於我定義的變量的條件語句,可能在httpd.conf中的網站特定設置中?在.htaccess文件中使用條件和變量

我想要做的是在我的開發服務器上設置一個變量爲true。然後,我想有一個條件聲明,說:if development = true, redirect to https

這可能嗎?這是關於事情的正確方法嗎?在Apache中httpd.conf

+0

你爲什麼要定義在'httpd.conf'這個變量?最好在.htaccess中定義它可以輕鬆更改以測試不同的環境。 – anubhava

+0

.htaccess在我的所有環境中都是相同的,因爲它處理我的路由,緩存和其他事情。所以它不會被忽略,任何改變都會適用於每個環境。 –

回答

1

設置變量使用:

SetEnvIf Host^development=true 

然後在你的.htaccess執行if development = true, redirect to https這條規則:

RewriteCond %{HTTPS} off 
RewriteCond %{ENV:development} =true 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [NE,R=301,L]