全てのアクセスを.htaccess でキャッチする

処理の流れを考えるから続きます。

もし、あなたがapacheのconfを触ることができるなら、.htaccessを利用せずに、confに直接記述することができます。

まず、【 .htaccess 】と言うファイル名でテキストファイルを新規作成します。
windowsの方の場合は、先頭が . (ドット)で始まる名前のファイルは作成できません。
linuxなどで作成してコピーしてくるか、FTPソフトで、a.txtなど適当な名前のファイルをアップロードし、そこで.htaccessにファイル名を変更したあとで、ダウンロードすることでwindows上に作成することが可能になります。

【 .htaccess 】には、次のように記述します。

# サーバーエラー時の表示内容をオリジナルに
ErrorDocument 403 /Transfer.php?Command=err&eno=403
ErrorDocument 404 /Transfer.php?Command=err&eno=404
ErrorDocument 500 /Transfer.php?Command=err&eno=500
ErrorDocument 503 /Transfer.php?Command=err&eno=503

RewriteEngine on
# ファイルが存在するものはそのまま表示
RewriteCond %{REQUEST_FILENAME} !-f
# ファイルが存在しなければ、Transfer.phpへ流す
RewriteRule ^(.*)$ Transfer.php?Command=$1&%{QUERY_STRING} [L]

最後の行の、RewriteRule ^(.*)$ ですが、この場合、全てのアクセスが、Transfer.phpに流れることになります。
例えば、URIの末尾は、絶対に【 .html 】で統一するんだ! という方なら、 ^(.*)$ の箇所を、 ^(.+.html)$ に書き換えることができます。

次へ : Transfer.php から安全な場所に処理を渡す
前へ : 処理の流れを考える

広告