Что происходит в первую очередь?.htaccess или php-код?

StackOverflow https://stackoverflow.com/questions/158384

Вопрос

Если я использую mod_rewrite для управления всеми моими 301 перенаправлениями, произойдет ли это до того, как моя страница будет обработана?итак, если у меня также есть куча правил перенаправления в php-скрипте, который выполняется на моей странице, запустится ли .htaccess первым?

Это было полезно?

Решение

Когда делается запрос к URI, на который влияет файл .htaccess, Apache обрабатывает любые правила перезаписи до выполнения любого из ваших PHP-кодов.

Другие советы

.htaccess запустится первым.Если вы посмотрите на цикл запросов Apache:

Apache Request Cycle

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 запускается первым.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top