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