Mod_rewrite jest zwykle dostarczony w większości Apache gospodarze ci dzień. Jednak nie jest to zbyt trudne, aby obejść jego brak, a robiąc to, upewnisz się, że ludzie utknęli na/z hostem/personelem IT, który go wyłączył, lub z hostem/personelem IT prowadzącym IIS, itp.
Większość nowo tworzonych frameworków lub aplikacji korzysta z mod_rewrite do przechwytywania wszystkich żądań URL za pomocą pojedynczego pliku ładującego z przodu (zwanego Bootstrapping, Frontloading pattern, itp.). Część adresu URL, która nie jest nazwą domeny, jest przetwarzana do jakiegoś obiektu, a ten obiekt jest używany zawsze, gdy potrzebujesz dostępu do adresu URL.
Kiedy mod_rewrite nie jest dostępny, adresy URL w postaci
http://example.com/index.php/foo/baz/bar
są używane zamiast. Żądanie powyższego adresu URL jest obsługiwane przez plik index.php. Następnie można analizować jedną z tych zmiennych serwerowych jak
$_SERVER['REQUEST_URI'], $REQUEST['PATH_INFO'], etc.
do jakiegoś przedmiotu (ten sam obiekt byłoby użyć jeśli miał mod_rewrite) i korzystać z tego obiektu, kiedy tylko potrzeba dostępu do informacji URL.
Tak czy inaczej, reszta ramy/aplikacji po prostu uzyskuje dostęp do obiektu i nie musi martwić się o to, w jaki sposób informacje tam dotarły.
Additional Reading
Mówię o hostach mojego klienta. – someone
Jak to zmienia odpowiedź? Wciąż jest ogólnie dostępny i powinieneś przełączyć klientów na inny host, jeśli nie. – ceejayoz
Jeśli podejrzewasz, że klient może nie mieć dostępu do mod_rewrite, powinieneś zbudować framework na podstawie tego założenia. – thetaiko