.htaccess w wielu środowiskach

Wiem, że podobne pytania zostały zadane wcześniej, ale nie znalazłem żadnych konkretnych odpowiedzi na moją sytuację.

Mam witrynę ExpressionEngine działającą w wielu środowiskach (lokalne, dev, produkcyjne), a każde z tych środowisk wymaga innych reguł .htaccess:

Wszystkie środowiska

Usuń index.phpUstaw plik 404Ustaw przekierowania 301

Rozwój

Ochrona hasłem za pomocą .htpasswdWymuś protokół HTTPSZapobiegaj indeksowaniu wyszukiwarkiX-Robots-Tag

Produkcja

Wymuś protokół HTTPSPrzekieruj subdomeny inne niż www do www

Lokalny

Brak wyjątkowych reguł.

Widziałem wiele przykładów tego, jak można ustawić określone środowiska na moduł. LubićRewriteCond %{REQUEST_HOST} ^dev.myurl.com dla modułu mod_rewrite itakie sztuczki dla wymagań .htpasswd.

Ale to, co naprawdę wolałbym, to sposób na ustawienie globalnych zmiennych środowiskowych, a następnie ponowne użycie tych zmiennych w pliku .htaccess na środowisko. Aby użyć pseudo-javascript jako przykładu, coś w stylu:

var local = 'mysite.local';
var development = 'dev.mysite.com';
var production = 'www.mysite.com';

// Global .htaccess rules

if(environment == local){
   // Local environment .htaccess rules
}

if(environment == development){
   // Development environment .htaccess rules
}

if(environment == production){
   //Production envirotnment .htaccess rules
}

W ten sposób wszystkie reguły specyficzne dla środowiska są zgrupowane razem, tworząc naprawdę czysty plik i tylko jedna zmienna musi zostać zmieniona, jeśli zmieni się środowisko.

Widziałem kilka odniesień do zmiany ustawień w plikach konfiguracyjnych Apache, ale oczywiście nie jest to opłacalna opcja, jeśli mam do czynienia z hostami innych firm.

Czy więc to pobożne życzenia z piekła na niebie, czy też można to zrobić?

questionAnswers(2)

yourAnswerToTheQuestion