MVS構成のWEBアプリでindex.phpにルーティングしたい

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 が無視されちゃう

カテゴリー php