.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)

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