Дополнительные данные в url до знака "?"

korpus

злой бобёр
Дополнительные данные в url до знака "?"

Как сервер апач и сам php должен понимать такие url:
Код:
http://mysite.ru/page1.php/somepage1.php/?arg1=value1&arg2=value2
если на сервере есть только один файл http://mysite.ru/page1.php, а всё остальное до знака вопроса - это всякие добавления (в данном случае добавлено "somepage1.php"). Проверено, что открываются страницы с таким url как и обычные, но вроде такое как-то можно использовать (встречал в фреймворках).
Для чего используются такие url? Как и где на сервере должны отразиться данные о дополнительной строке до знака "?".
 

AmdY

Пью пиво
Команда форума
echo "<pre>";print_r($_SERVER);
прочти хоть одну книгу, прежде чем зазавать вопросы.
 

Фанат

oncle terrible
Команда форума
AmdY
ну давай не буем пинать так уж сильно :)
нормальный вопрос
 

korpus

злой бобёр
Автор оригинала: AmdY
echo "<pre>";print_r($_SERVER);
прочти хоть одну книгу, прежде чем зазавать вопросы.
Ну я так и сделал. Что изменяется с дополнительной приставкой после названия скрипта?
Было: http://localhost/12.php
Стало: http://localhost/12.php/sososososososos

1) Заметил, что изменился порт
было: [REMOTE_PORT] => 1381
стало: [REMOTE_PORT] => 1385
2)
было: [PATH_TRANSLATED] => Z:\home\localhost\www\index.php
стало: [PATH_TRANSLATED] => Z:\home\localhost\www\sososososososos

Остальные изменения в массиве $_SERVER вроде не важные.

Где и как можно использовать эти данные? Про порт не особо интересно, интересно, почему он сменился.

-~{}~ 14.06.10 21:53:

Элемент [PATH_INFO] появляется, если только после названия скрипта есть знак черты "/" и как раз содержит строку от названия скрипта до знака вопроса. Это что ж значит, что какой-нибудь фреймворк обязательно читает $_SERVER['PATH_INFO'] и соответственно определяет, какой контролер ему запускать, что ли? Это единственное назначение такой замысловатой конструкции в url?
 

dimagolov

Новичок
то, как выглядит url зависит от того, кто его формирует. почему сделано именно так, а не иначе, нужно спрашивать того, кто писал код формирования url. часто это не один человек и делалось это в течении многих лет (на живых проектах), причем "старые" урл-ы продолжают корректно обрабатываться из соображений сохранения работоспособности старых (в основном внешних) ссылок. хотя по-уму старые ссылки нужно редиректить на новые.
 

korpus

злой бобёр
Здесь вопрос более конкретный. Зачем нам (php-программистам) нужно использовать такие ссылки и в каких случаях их применение оправдано.

-~{}~ 15.06.10 06:31:

Для чего, например, используется переменная сервера $_SERVER['PATH_TRANSLATED']. Или $_SERVER['PATH_INFO']?
 

Breeze

goshogun
Команда форума
Партнер клуба
Options MultiViews
Было: http://localhost/12.php/sososososososos
Стало: http://localhost/12/sososososososos

безо всяких mod_rewrite
 
Сверху