2013-06-24 44 views
2

因此,我通常希望基於它所在的服務器(例如live或development)稍微不同地設置htaccess規則。設置環境特定的htaccess規則

ErrorDocument通常需要不同,以及一些AddType和SetHandlers位。

有沒有什麼辦法可以讓它更加動態一些,並根據URL自動檢測,然後設置一個變量,並且如果條件在htaccess中進一步下降?

想從URL檢測,而不是與Apache設置參數請:)

+0

是什麼讓你的網址在開發版和真人版之間有所不同?它是主機還是路徑? –

+0

@MathieuRodic都是,開發環境位於不同的域而不是根目錄。例如www.livedomain.com和dev.otherdomain.com/devname/projectname – Horse

回答

0

沒有沒有任何辦法通過某些URL檢測到設定的那些東西完全做到這一點。您無法在您想要的某些東西(AddType SetHandlersErrorDocument)周圍制定正常的if條件。

你可以使用env變量和mod重寫,但我不認爲你會喜歡最終的結果。你必須使用env|E=[!]VAR[:VAL]語法

如果你是,你可能能夠通過使用<directory> sections </directory>來分隔不同的設置在httpd.conf或虛擬主機文件像做this。但是在htaccess中不允許使用Directory

另外我不會在生產環境中這樣做,因爲有些東西可能會出錯,我會認爲檢測速度較慢並且不需要。也許您可能想要查看一下您運行的構建腳本,以根據主機名和其他因素創建/部署用於開發/生產的不同設置。