Я направляю все URL-запросы на фронт-контроллер. URL-запросы выглядят как example.com/controller/action/etc
. Проблема заключается в использовании относительных URL-адресов в программе. Это прекрасно работает, если в запросе URL есть только одна косая черта, но если есть более одной косой черты, относительный URL прерывается.
В местоположении example.com/controller
, относительный URL other-controller
работает нормально, переводя пользователя на example.com/other-controller
.
В местоположении example.com/controller/action
, относительный URL other-controller
не работает, переводя пользователя на example.com/controller/other-controller
.
Любые рекомендации о том, как обойти это? Надеюсь, я могу сделать это без использования абсолютных путей или кода, генерирующего URL, каждый раз, когда я хочу создать URL в приложении.
В случае, если это имеет значение, в настоящее время я использую этот код .htaccess для перенаправления входящих запросов на фронт-контроллер:
# Point all to index.php except existing files
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>