Могу ли я использовать Gulp для изменения моего файла .htaccess с различными конфигурациями для разработки и производства?

Могу ли я использовать Gulp для изменения моего файла .htaccess с различными конфигурациями для разработки и производства?

У меня есть два 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, так как это даст тот же эффект при более высокой производительности.

Связанный контент