.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 'с конфигурационными файлами, но очевидно, чтоне жизнеспособный вариант, если яЯ имею дело со сторонними хостами.
Так что это заоблачное размышление, или это можно сделать?