すべての URL リクエストをフロント コントローラーに送信します。URL リクエストは次のようになりexample.com/controller/action/etc
ます。問題は、プログラム内で相対 URL を使用することです。これは、URL 要求にスラッシュが 1 つしかない場合は正常に機能しますが、スラッシュが複数ある場合は相対 URL が壊れます。
locationexample.com/controller
では、相対 URLother-controller
が正常に機能し、ユーザーを に連れて行きexample.com/other-controller
ます。
locationexample.com/controller/action
では、ユーザーを に移動する相対 URLother-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>