🤖
【htaccess】htaccessを使ったルーティングカスタマイズ
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