Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.03.2011, 10:48
Аспирант
Отправить личное сообщение для mister_maxim Посмотреть профиль Найти все сообщения от mister_maxim
 
Регистрация: 09.02.2009
Сообщений: 57

Внутренний редирект с помощью PHP
в одной директории находятся два скрипта, с первого на второй произвожу внутренний редирект:
from.php:
<?PHP
Header("Status: 200 OK");
$dir=dirname($_SERVER['SCRIPT_NAME']);
Header("Location: $dir/to.php");
echo "Вы на from.php";
exit();
?>

и to.php:
<?PHP
echo "Вы на to.php";
?>

Делаю по учебнику DKLAB внутренний редирект, там сказано что адрес URI должен быть абсолютным, и он работает на CGI-версии php только. У меня денвер, сказали что там PHP установлен как CGI версия.
Еще сказано в учебнике что после его запуска from.php в браузерной строке так и останется, но у меня он меняется на to.php. Почему он меняется? Может у меня PHP установлен как модуль апаче, а тот кто сказал что как CGI был не прав. А так перенаправление происходит.
Ответить с цитированием
  #2 (permalink)  
Старый 28.03.2011, 20:11
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Header("Status: 200 OK");
Header("Location: $dir/to.php");


я не хороший знаток php, то у перенаправления должен быть статус 302 (или 301, или 300)

меняется он потому,что перенаправляет

тоже самое делает и тег
<meta http-equiv="refresh" content="0; URL=/to.php">

или скрипт
location.href = '/to.php'


чтобы url оставался прежним, надо изучать apache ,а именно mod_rewrite

вот пример для вашего .htaccess, если я не ошибся

RewriteEngine On
RewriteRule ^from.php$ /to.php [L]
Ответить с цитированием
  #3 (permalink)  
Старый 30.03.2011, 18:10
Аспирант
Отправить личное сообщение для mister_maxim Посмотреть профиль Найти все сообщения от mister_maxim
 
Регистрация: 09.02.2009
Сообщений: 57

Оказывается тот человек ошибся - php установлен как модуль апатча у меня на денвере, это я копнул книгу в главе установки пхп как cgi и как модуль апачтча, и там была написана разница в установке:
в файле httpd.conf в /usr/local/apache/conf/ в случае модульной версии пхп есть незакомментированная строка начинающаяся на
LoadModule php5_module "/usr/local/php5/php5apache2_2.dll"
её я кстати в нём и увидел,
а в случае версии cgi:
Action application/x-httpd-php5 "/_php5/php-cgi.exe"
её я и не увидел.
инструкций же Include в httpd.conf я не увидел, значит другие файлы не подключаются, и если что-то есть или чего то нет видно лишь в httpd.conf.
Отсюда вывод что у меня установлен пхп как модуль апача.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вывести содержимое PHP файла с помощью JS? pavdin Серверные языки и технологии 6 22.12.2010 14:16
Как с помощью PHP сохранить какие-либо изменения в HTML документе? FirstFrost Работа 6 06.09.2010 16:16
Авторизация с помощью PHP bayah Серверные языки и технологии 7 03.08.2010 15:47
Как с помощью PHP сохранить какие-либо изменения в HTML документе? FirstFrost Общие вопросы Javascript 1 15.07.2010 17:12
Снятие затемнения с экрана при получении ответа от php срипта с помощью setInterval roma86 jQuery 0 16.08.2009 12:39