Я создаю PHP-приложение в CodeIgniter. CodeIgniter отправляет все запросы на главный контроллер: index.php. Тем не менее, я не люблю видеть index.php в URI. Например, http://www.example.com/faq/whatever будет маршрутизироваться в http://www.example.com/index.php/faq/whatever. Мне нужен надежный способ для script знать, что это за адрес, поэтому он будет знать, что делать с навигацией. Я использовал mod_rewrite в соответствии с документацией CodeIgniter.
Правило выглядит следующим образом:
RewriteEngine on
RewriteCond $1 !^(images|inc|favicon\.ico|index\.php|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
Обычно я просто проверяю php_self, но в этом случае он всегда index.php. Я могу получить его от REQUEST_URI, PATH_INFO и т.д., Но я пытаюсь решить, какой из них будет наиболее надежным. Кто-нибудь знает (или знает, где найти) реальную разницу между php_self, PATH_INFO, SCRIPT_NAME и REQUEST_URI? Спасибо за вашу помощь!
Примечание. Мне пришлось добавлять пробелы, так как SO видит символ подчеркивания и по какой-то причине делает его курсивом.
Обновлено. Исправлены пробелы.