🤖

【htaccess】htaccessを使ったルーティングカスタマイズ

2024/07/13に公開

htaccessを使ってオリジナルのルーティングを設定することがあるのでメモ。
※wordpressやlaravelなどCMSやフレームワークでもよく使われている手法。

設定方法

これでアクセスされたファイルやディレクトリがなければ、/hoge/hoge.phpを表示する

.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /hoge/hoge.php [L]

あとは例外的なURLであれば、PHPで404のステータスコードを返せば、オリジナルのルーティングの出来上がり!
下記のように404ページを作成して読み込んでもOK。

hoge.php
if(条件) {
    // 処理
} else {
    header("HTTP/1.1 404 Not Found");
    include $_SERVER['DOCUMENT_ROOT'] . '/404.php';
    exit;
}

Discussion