Модуль MOD_REWRITE обычно доступен на большинстве хостов Apache в эти дни. Тем не менее, это не так сложно обойти его отсутствие, и тем самым вы гарантируете, что люди застряли на / с хостом / ИТ-персоналом, которые его отключили, или хост / ИТ-персонал, работающий с IIS и т. Д. *
Большинство новых фреймворков или приложений, созданных сегодня, используют mod_rewrite для перехвата всех URL-запросов через один PHP-файл фронтальной загрузки (называемый Bootstrapping, Frontloading pattern и т. Д.). Часть URL, которая не является именем домена, анализируется в некотором объекте, и этот объект используется всякий раз, когда вам необходим доступ к URL.
Когда MOD_REWRITE недоступен, URL-адреса в виде
http://example.com/index.php/foo/baz/bar
используются вместо. Запрос на вышеуказанный URL обрабатывается файлом index.php. Затем вы можете проанализировать одну из серверных переменных, например
$_SERVER['REQUEST_URI'], $REQUEST['PATH_INFO'], etc.
в некоторый объект (тот же объект, который вы использовали бы, если бы у вас был mod_rewrite) и использовал этот объект всякий раз, когда вам требовался доступ к информации URL.
В любом случае, остальная часть вашего фреймворка / приложения просто получает доступ к объекту, и не нужно беспокоиться о том, как информация попала туда.
Дополнительное чтение