Могу ли я сказать Apache выполнить внутреннюю переадресацию с PHP?

Есть ли способ из PHP-скрипта, вызванного из mod_php с apache, сказать apache сделать ВНУТРЕННЕЕ перенаправление на какой-то другой файл?

Я не хочу читать/требовать этот файл от PHP и выплевывать его, я думаю, что было бы более эффективно передать это Apache. Я считаю, что это можно сделать с помощью mod_perl, и мне любопытно, есть ли способ сделать это с помощью PHP/mod_php/apache.

Спасибо!


person bnjmnhggns    schedule 06.11.2008    source источник


Ответы (1)


virtual() может делать то, что вы хотите. Я не уверен, я никогда не пробовал.

Обратите внимание, что include() и require() будут работать, если вы просто вызываете страницы HTML или PHP, а также будут переносимы на другие установки PHP.

Я смутно помню, что использование Location заголовка с локальным URL-адресом выполняло внутреннюю переадресацию (например, header("Location: /uri/here.php");, но я не могу проверить это здесь, чтобы убедиться.

person Powerlord    schedule 06.11.2008
comment
Хм, в документах, на которые вы ссылались, даже говорится, что использование virtual() в файлах PHP возможно, но include() или require() лучше. ОП делает это неправильно. - person Nathan Strong; 07.11.2008
comment
Да, это так, но я отвечал на вопрос, который задал ОП (как сделать внутреннюю переадресацию). virtual() выполняет фактический подзапрос Apache для новой страницы, что означает, что вещи из других языков (или скомпилированные программы) все еще работают. - person Powerlord; 07.11.2008
comment
Кроме того, ОП сказал, что я не хочу читать/требовать этот файл от PHP... - person Powerlord; 10.11.2008