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