Что происходит в первую очередь?.htaccess или php-код?
-
03-07-2019 - |
Вопрос
Если я использую mod_rewrite для управления всеми моими 301 перенаправлениями, произойдет ли это до того, как моя страница будет обработана?итак, если у меня также есть куча правил перенаправления в php-скрипте, который выполняется на моей странице, запустится ли .htaccess первым?
Решение
Когда делается запрос к URI, на который влияет файл .htaccess, Apache обрабатывает любые правила перезаписи до выполнения любого из ваших PHP-кодов.
Другие советы
.htaccess запустится первым.Если вы посмотрите на цикл запросов Apache:
PHP - это обработчик ответов.mod_rewrite выполняется при переводе URI, за исключением правил перезаписи в .htaccess и <Directory> или <Location> блоки, которые выполняются на этапе исправления.Это связано с тем, что Apache не знает, в каком каталоге он находится (и, следовательно, в каком <Directory> или .htaccess для чтения) до окончания перевода URI.
В ответ на вопрос gabriel1836 об изображении я взял его со второго слайда эта презентация но это взято из книги: Написание модулей Apache на Perl и C что я вам настоятельно рекомендую.
Да, файл .htaccess анализируется перед отправкой вашего скрипта.
.htaccess происходит первым.
htaccess управляется веб-сервером.Этот файл будет учтен перед вашим PHP-файлом.
Например, вы могли бы ограничить доступ к определенной папке с помощью вашего файла htaccess.Таким образом, это должно быть сделано до того, как ваш PHP возьмет на себя ответственность.
Надеюсь, это поможет.
.htaccess выполняется Apache перед выполнением php-скрипта.(представьте, что выполняется php-скрипт, а затем .htaccess выполняет перенаправление на другую страницу ...).
Вы всегда можете проверить это с помощью следующей команды:
wget -S --spider http://yourdomain.com
С помощью этой команды вы увидите, кто отвечает на ваш запрос.
Как упоминалось во всех остальных, .htaccess является первым.
Таким образом, в принципе, .htaccess
более или менее требуется соответствующий PHP-код или файлы, как в соответствии с правилами, указанными в .htaccess
, означающий .htaccess
запускается первым.