Есть ли причина (безопасность, производительность и т. Д.), По которой я не должен использовать .htaccess в производственной / живой среде Apache?
Официальная рекомендация Apache - избегать использования .htaccess
кроме случаев крайней необходимости.
Если AllowOverride
установлен на любое другое значение, кроме None
, то каждый отдельный запрос, который система получает для контекста с AllowOverride
включено, заставит процесс Apache проверять наличие .htaccess
файл в каждой части дерева файловой системы, которая потенциально может содержать .htaccess
это применимо к текущему запросу.
Видеть Вот:
В общем, вы никогда не должны использовать файлы .htaccess, если у вас нет доступа к основному файлу конфигурации сервера. Например, широко распространено заблуждение, что аутентификация пользователя всегда должна выполняться в файлах .htaccess. Это просто не тот случай. Вы можете поместить конфигурации аутентификации пользователей в конфигурацию основного сервера, и это, по сути, предпочтительный способ сделать что-то.
Файлы .htaccess следует использовать в случае, когда поставщикам контента необходимо внести изменения в конфигурацию сервера для каждого каталога, но у них нет корневого доступа в серверной системе. В случае, если администратор сервера не желает делать частые изменения конфигурации, может быть желательно разрешить отдельным пользователям вносить эти изменения в файлы .htaccess для себя. Это особенно верно, например, в случаях, когда интернет-провайдеры размещают несколько сайтов пользователей на одной машине и хотят, чтобы их пользователи могли изменять свою конфигурацию.
Однако в целом по возможности следует избегать использования файлов .htaccess. Любая конфигурация, которую вы могли бы поместить в файл .htaccess, может быть так же эффективно выполнена в разделе в вашем главном файле конфигурации сервера.
Это зависит от ваших требований.
Техническая причина существования механизма .htaccess заключается в том, что люди, не являющиеся администраторами сайта, могут изменять локальную конфигурацию, которую они контролируют, не требуя доступа к глобальной конфигурации сервера apache.
Это не имеет большого отношения к безопасности, но использование большого количества файлов .htaccess повлияет на производительность.