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. Перенаправление является задачей с низким приоритетом. Предоставление контента посетителям вашего сайта является приоритетной задачей. Вам не нужно, чтобы проверка перенаправления выполнялась при каждом запросе.

Другие вопросы по тегам