.htaccessの書き方

pokoの日常の基本サムネイル画像 プログラミング

こんにちは。ぽこです!

今回は、ページのリダイレクトをできる、.htaccessの書き方についてお話しします。

書き方の例

.htaccessは次のように書くことができます。

­­­­<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

 

RewriteCond %{REQUEST_URI} !(^/aa/index.php)

RewriteRule ^(.*)$ /aa/index.php [L]

</IfModule>

1行ずつ説明していきます。

説明

<IfModule mod_rewrite.c>

これは、利用環境でmod_rewriteが使えるかどうかを確認しています。

使える場合にのみ中のコードを実行するため、エラーの発生を防ぐために記述したほうがよいでしょう。

RewriteEngine On

これは、mod_rewriteの機能を有効化するという意味です。

RewriteBase /

これは、Rewriteの処理後にベースとなるURLの指定をしています。

特に理由がなければ「RewriteBase /」と書くとよいでしょう。

このように書くと、どのディレクトリに配置してもドキュメントルートからのパスになるので、わかりやすいです。

RewriteCond %{REQUEST_URI} !(^/aa/index.php)

ここからがRewrite処理になります。

RewriteCondでは、ルールの定義を行っています。

ここで指定した条件に一致する場合に、次の処理が実行されます。

今回の場合は、/aa/index.php以外、例えば/aa/bb/など、の場合に条件に一致します。

ちなみにここで/aa/index.php以外としているのは、リダイレクトの無限ループを防ぐためです。

RewriteRule ^(.*)$ /aa/index.php [L]

ここで、URLの書き換えを行います。

こちらは^(.*)$を/aa/index.phpに書き換えるという意味です。

タイトルとURLをコピーしました