я заметил, что иногда (особенно там, где mod_rewrite не доступен) используется такая схема пути:Насколько надежны URIs как /index.php/seo_path
http://host/path/index.php/clean_url_here
--------------------------^
Это кажется работать, по крайней мере, Apache, где вызывается index.php
, и можно запросить часть /clean_url_here
через $_SERVER['PATH_INFO']
. PHP даже kind of advertises эта функция. Кроме того, например, структура CodeIgniter использует этот метод по умолчанию для своих URL-адресов.
Вопрос: Насколько надежна техника? Существуют ли ситуации, когда Apache не вызывает index.php
, но пытается разрешить путь? Что относительно lighttpd, nginx, IIS, AOLServer?
Вопрос о ServerFault? Я думаю, что это больше связано с использованием этой функции внутри PHP-кода. Поэтому я прошу здесь.
Добавление: Как было предложено VolkerK, разумное расширение на этот вопрос: Как программист влияние существование $_SERVER['PATH_INFO']
на различных типах серверов?
Спасибо за ссылки Apache и IIS. После немного Googling (основанный на недавно полученных знаниях о AcceptPathInfo) я нашел решение для nginx: http://kbeezie.com/view/php-self-path-nginx/ – Boldewyn