Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Уродливые URL
 
 автор: Osipov   (24.06.2007 в 10:22)   письмо автору
 
 

Если набрать в строке браузера <фдрес php срипта>/<параметры>, то <параметры> будет доступны в переменной $_SERVER["PATH_INFO"]. Однако, на сайте php.net пошли ещё дальше: там если набрать http://php.net/<имя функции> то вызывается скрипт. То есть даже не указывается явно имя PHP скрипта.

У меня вопрос: как настроить Apache чтобы он вёл себя также, то есть при наборе имени директории и несуществующего в ней файла не писал Not Found, а передавал управление PHP скрипту?

   
 
 автор: sim5   (24.06.2007 в 11:32)   письмо автору
 
   для: Osipov   (24.06.2007 в 10:22)
 

А почему вы думаете, что <адрес php срипта>/<параметры> принципиально отличается от http://php.net/<имя функции>? В любом случае скрипту передается переменная/значение, а уже скрипту обработчику все карты в руки - есть такая переменная (или по получении этой переменной - обработать), значит покажем инфу о ней, например, а нет, значит направим туда, куда захотим. Зачем для этого настраивать Апач?

   
 
 автор: Osipov   (24.06.2007 в 12:51)   письмо автору
 
   для: sim5   (24.06.2007 в 11:32)
 

Если я пишу http://<Мой сервер>/<не существующий файл>, то Apache выдаёт Not found, вместо того, чтобы передать управление PHP скрипту. То есть в том то и дело, что управление скрипту не передаётся.

То что я написал в первом абзаце самым простым способом возможно только в том случае, если Указано полное имя PHP скрипта.

На Википедии, кстати, там тоже http://ru.wikipedia.org/wiki/<Имя страницы> --- не указано имя скрипта, однако мне так настроить MediaWiki не удалось, и у меня URL выглядят так:
http://poetry.mooo.com/mediawiki/index.php/<Имя страницы> (мне, правда для другого, нужно, в медиавики я как нибудь обойдусь)

   
 
 автор: sim5   (24.06.2007 в 12:58)   письмо автору
 
   для: Osipov   (24.06.2007 в 12:51)
 

Я как о предположении, например http://php.net/array_reverse
В скрипте-обработчике, например:

if (isset(array_reverse)) выдать описание, иначе... Такого, что быть не может?

   
 
 автор: Osipov   (24.06.2007 в 13:11)   письмо автору
 
   для: sim5   (24.06.2007 в 12:58)
 

Проблема как раз в том, что скрипт-обработчик не вызывается. Как сделать, чтобы он вызывался по такому запросу, я не знаю.

   
 
 автор: Trianon   (25.06.2007 в 15:07)   письмо автору
 
   для: Osipov   (24.06.2007 в 10:22)
 

там, вероятно, mod_rewrite перебрасывает URI попадающий под маску рег.выражения на конкретную страницу, передавая совпавший элемент в параметр GET.

   
 
 автор: Osipov   (25.06.2007 в 17:13)   письмо автору
 
   для: Trianon   (25.06.2007 в 15:07)
 

А можете по-подробнее? Как такое сделать?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования