У меня есть два CentOS-бокса, на которых запущен Apache. Один из них — среда разработки, а другой — производственная среда. Я рассматриваю возможность использования Gulp в процессе передачи данных с моего сервера разработки на мой производственный сервер через Git, но у меня разные требования к конфигурации в файле .htaccess в зависимости от среды.
Мне бы хотелось иметь некий центральный файл конфигурации, который позволял бы мне обновлять эти конфигурации, а затем при отправке в среду разработки он устанавливал бы определенные аспекты файла .htaccess в соответствии с настройками среды разработки, а при отправке в производственную среду он использовал бы мои производственные настройки.
(Я полагаю, что другой вариант — иметь dev.htaccess и prod.htaccess, а Gulp просто переименовывать соответствующий файл в .htaccess в зависимости от того, в какую среду он отправляет данные. Хотя я бы хотел избежать необходимости поддерживать несколько файлов .htaccess.)
решение1
ИМХО, вам следует хранить конфигурацию сервера отдельно от вашего кода.
Инструменты управления конфигурациейдолжно позволить вам легко поддерживать правильную конфигурацию для конкретной среды, и ваш код должен иметь возможность запускаться в любой правильно настроенной среде.
Поэтому не включайте свой .htaccess
файл в развертывание и, что еще лучше, не используйте .htaccess
файлы вообще!
Как цитируется изруководство по .htaccessфайлы:
Вам следуетполностью избегайте использования
.htaccess
файлов если у вас есть доступ к конфигурации основного сервера httpdфайл. Используя.htaccess
файлы замедляют работу вашего http-сервера Apache. Любую директиву, которую вы можете включить в.htaccess
файл, лучше всего установить вDirectory
заблокируйте его в главном файле(ах) конфигурации Apache, так как это даст тот же эффект при более высокой производительности.