5.6. Bazowy adres URL i podkatalogi

W przeciwieństwie do oryginalnego routera, RewriteRouter może być użyty w podkatalogach - automatycznie wykrywa twój bazowy adres URL i odpowiednio go ustawia. Na przykład: jeśli twój plik index.php jest umieszczony na serwerze www w podkatalogu nazwanym /projects/myapp/index.php bazowy adres URL zostanie ustawiony na /projects/myapp. Ten łańcuch znaków będzie wycięty z początku ścieżki przed dopasowaniem tras. To uwalnia od konieczności dodawania bazowej ścieżki do wszystkich tras. Trasa 'user/:username' zostanie dopasowana do adresów URI http://localhost/projects/myapp/user/martel oraz http://example.com/user/martel.

[Notatka] Notatka
W automatycznym bazowym adresie URL rozróżniane są wielkie i małe litery, więc upewnij się, że twój adres URL będzie odpowiadał nazwie podkatalogu w systemie plików (nawet na komputerach z Windows). Jeśli nie będzie to zostanie wywołana akcja noRoute.

Jeśli bazowy adres URL jest wykrywany nieprawidłowo, możesz go nadpisać własną ścieżką bazową za pomocą metody setRewriteBase z klasy RewriteRouter:

$router->setRewriteBase('/projects/myapp');
[Notatka] Notatka
Ten krok nie jest konieczny w większości przypadków i jest mocno odradzany, ponieważ wprowadza kolejną zmienną konfiguracyjną, która musi być zmieniona gdy ktoś przeniesie kod do innego katalogu.