MVS構成の場合index.phpでリーティングを実施するのが一般的だが
存在しないファイルやディレクトリへのアクセスは全部index.phpに集約する方法.htaccess
の記述で対応
※この方法だとxamppとLAMP環境で設定が面倒なのでindex.phpでルーティングをお勧め
RewriteEngine On
# RewriteBase /order_mvp_plus_mvc_mysql/public/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
→ リクエストされたパスが実在するファイルでない場合に適用。RewriteCond %{REQUEST_FILENAME} !-d
→ リクエストされたパスが実在するディレクトリでない場合に適用。RewriteRule ^ index.php [QSA,L]
→ 条件を満たしたリクエストはすべて index.php
に転送される。QSA
は元のクエリ文字列を保持する。
※httpd.confに以下が必須
<Directory />
AllowOverride ALL
Require all denied
</Directory>
AllowOverride All
.htaccess
ファイルによる設定の上書きをすべて許可する。これがないと.htaccess
が無視されちゃう