Недавно я переместил все свои правила из файла .htacess в файл .conf. Теперь, когда я хочу добавить правило перенаправления на свой сайт, мне нужно отредактировать файл .conf и sudo apachectl graceful
.
Теперь у меня возникла проблема, заключающаяся в том, что я хочу иметь возможность динамически генерировать свои правила перенаправления из PHP. Раньше, когда у меня был запущен мой файл .htacess, это было относительно просто - просто включите туда файл, которым управляет PHP, и все перенаправления будут работать идеально.
Теперь я все еще могу использовать включаемый файл, но я не уверен (или не уверен в том, что) PHP работает apachectl graceful
.
Какое здесь лучшее решение? Насколько я понимаю, с моей текущей настройкой apache обязательно нужно перезапустить, чтобы файл .conf вступил в силу, это правильно? Если я вернусь к использованию .htaccess, могу ли я иметь только один .htaccess в корне домена и запретить apache использовать любые другие файлы .htaccess, чтобы не замедлять работу моего сервера?
... но я не уверен (или доволен) PHP, работающим с изящным apachectl.
Ну точно. Вы даже не должны думать о попытках редактировать конфигурация вашего сервера из PHP. Это даже не должно быть возможным, иначе вы открываете огромную банку червей с точки зрения безопасности.
... когда у меня был запущен мой файл .htacess, это было бы относительно просто - просто включите туда файл, которым управляет PHP, и все перенаправления будут работать отлично.
Вы имеете в виду, позволяя PHP редактировать ваш .htaccess
файл? Это также несет потенциальную угрозу безопасности.
Тем не мение, .htaccess
или даже конфигурация вашего основного сервера, не обязательно лучшее место для перенаправляет в любом случае (если вы говорите о внешние перенаправления). Эти перенаправления обычно происходят из-за того, что ресурс / страница переместились и больше не существует. В этом случае часто более эффективно обрабатывать перенаправление в коде на стороне сервера (например, PHP), как только вы определили, что в противном случае будет возвращено 404. Перенаправление - это задача с низким приоритетом. Предоставление контента посетителям вашего сайта является более важным приоритетом. Вам не нужно выполнять проверку редиректа при каждом запросе.