5.6. Основной URL и подкаталоги

В отличие от исходного маршрутизатора (Router), RewriteRouter может использоваться в подкаталогах -- он автоматически определяет ваш основной URL и устанавливает его. Например, если вы держите ваш index.php в подкаталоге веб-сервера /projects/myapp/index.php, то основной URL будет установлен в /projects/myapp. Эта строка затем будет отсекаться от начала пути перед любым сопоставлением с маршрутом. Это освобождает от необходимости добавлять ее к каждому маршруту. Маршрут 'user/:username' будет соответствовать таким путям, как http://localhost/projects/myapp/user/martel и http://example.com/user/martel.

[Замечание] Замечание
Автоматическая замена основы URL чувствительна к регистру, поэтому удостоверьтесь, что ваш URL будет соответствует имени подкаталога в файловой системе (даже под Windows). Если вы не сделаете этого, то в результате может вызываться действие noRoute.

Если основной URL определяется неправильно, то вы можете заменить его своим с помощью метода setRewriteBase() класса RewriteRouter:

$router->setRewriteBase('/projects/myapp');
[Замечание] Замечание
В большинстве случаев этот шаг не является обязательным и сильно не рекомендуется, так как вносит дополнительную переменную конфигурации, которая должна изменяться, когда производится перемещение кода в другой каталог.