все внешние URL-адреса выглядят как "module/action? key1 = param1". Невозможно настроить, но это быстро. Разница в том, что первый использует PHP GET, а второй использует PATH_INFO.
Я видел PATH_INFO
несколько раз, но до сих пор не знаю, что это такое. Что он делает?
Фактически, PATH_INFO
связан с веб-сервером Apache, обслуживающим страницы PHP, а не PHP как таковой.
PATH_INFO
- это переменная среды, установленная Apache, когда включена директива AcceptPathInfo
. Он будет содержать информацию о конце пути, которая следует за фактическим именем файла или несуществующим файлом в существующем каталоге, независимо от того, принят или отклонен запрос. Затем переменные среды передаются в модуль Apache/CGI, который отвечает за отображение страницы.
Переменная доступна в PHP с помощью $_SERVER['PATH_INFO']
.
Например, предположим, что местоположение /test/
указывает на каталог, содержащий только один файл here.html
. Затем запросы для /test/here.html/more
и /test/nothere.html/more
собирают /more
как PATH_INFO
.
Поскольку переменная PATH_INFO является частью определения для CGI, вы также должны взглянуть туда;)