#php #apache #.htaccess
#php #apache #.htaccess
Вопрос:
Какой более БЫСТРЫЙ способ перенаправить конкретную (конкретную) страницу, PHP или htaccess? Учитывая, что многим разным страницам может потребоваться такое перенаправление на сайте с высоким трафиком. например, что быстрее:
PHP (никаких запросов к базе данных, просто простое перенаправление php)
header("Location: /new.php",TRUE,301);
или
htaccess
redirect 301 old.php http://site.com/new.php
Ответ №1:
Зависит. В общем, .htaccess будет быстрее, потому что у вас не будет накладных расходов на вызов PHP. Однако, если у вас есть 1000 перенаправлений в одном файле .htaccess на корневом уровне документа, тогда Apache нужно будет проверять каждый из них при каждой загрузке страницы. Т.Е. Вместо того, чтобы просто обслуживать index.php , теперь вам нужно будет выполнить 1000 проверок регулярных выражений, а затем выполнитьindex.php . В целом, я бы сказал, что если у вас много перенаправлений и много страниц, которые не будут перенаправлены, тогда сделайте это на PHP. В этом случае вы не платите никаких дополнительных накладных расходов за страницы, которые не нужно перенаправлять.
Ответ №2:
.htacess
обрабатываются до вызова php, поэтому, если вы сможете его создать, это, безусловно, будет быстрее
Комментарии:
1. Однако. .htaccess сам загружается / анализируется при каждом попадании, поэтому, возможно, PHP может быть быстрее в некоторых обстоятельствах (например, очень сложный .htaccess для одного), особенно при наличии кэшей.
2. если есть complex .htaccess, он все равно будет проанализирован и добавлен ко времени обработки PHP, так что выигрыша там тоже нет
Ответ №3:
Если .htaccess
используется вообще, Apache обработает его до начала любой обработки PHP. Я не проводил тесты по использованию одного или другого, но когда оба присутствуют, .htaccess
всегда будет быстрее.
Также обратите внимание, что .htaccess
перенаправление может быть написано с использованием регулярных выражений для применения к нескольким старым файлам, поэтому с вашей стороны меньше работы.
Комментарии:
1. htaccess всегда будет быстрее … да, но только для страниц, которые заинтересованы в переходе через htacess; если 99% ваших страниц не перенаправляются, но у вас есть 1000 строк в вашем .htaccess: тогда синтаксический анализ .htaccess для КАЖДОГО запроса замедляется больше, чем 1% страниц, которым выгодно не перенаправляться через php