.htaccess в нескольких средах

Я знаю, что подобные вопросы задавались ранее, но я не нашел действительно конкретных ответов для своей ситуации.

У меня есть сайт ExpressionEngine, работающий в нескольких средах (локальная, dev, производственная), и для каждой из этих сред нужны разные правила .htaccess:

Все среды

Удалить index.phpУстановить файл 404Set 301 Redirects

развитие

Защита паролем с помощью .htpasswdПринудительный протокол HTTPSЗапрет индексирования поисковой системы сX-Robots-Tag

производство

Принудительный протокол HTTPSПеренаправление поддоменов без www на www

Местный

Нет уникальных правил.

Я видел много примеров того, как вы можете установить конкретные среды для каждого модуля. подобноRewriteCond %{REQUEST_HOST} ^dev.myurl.com для модуля mod_rewrite итакие трюки для требований .htpasswd.

Но что я действительно предпочел бы, так это установить глобальные переменные среды, а затем повторно использовать эти переменные в файле .htaccess для каждой среды. Чтобы использовать псевдо-Javascript в качестве примера, что-то вроде:

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
}

Таким образом, все правила, относящиеся к среде, сгруппированы вместе, образуя действительно чистый файл, и при изменении среды необходимо изменить только одну переменную.

Я видел несколько ссылок на изменение настроек в конфигурационных файлах Apache, но, очевидно, это нереальный вариант, если я имею дело со сторонними хостами.

Так что это заоблачное размышление, или это можно сделать?

Ответы на вопрос(2)

Ваш ответ на вопрос