RewriteBaseディレクティブ:リライト先を相対パスで指定するときの基準ディレクトリを設定する

RewriteBase ディレクティブは、 RewriteRule ディレクティブによって URL のリライトやリダイレクトが行われるときに、リライト先の URL を相対パスで指定するときの記述となるディレクトリを指定します。ここでは Apache の RewriteBase ディレクティブの使い方について解説します。

(Last modified: )

RewriteBaseディレクティブの使い方

RewriteBase ディレクティブはリライト/リダイレクト先を相対パスで指定する場合の基準ディレクトリを指定する場合に使用します。書式は次のとおりです。

RewriteBase URLパス

記述できる場所は Directory, .htaccess です。 .htaccess で設定する場合は AllowOverride FileInfo が設定されている必要があります。

例えばリライト先の URL が /new/hello.html だった場合、 RewriteBase /new と設定しておくことでリライト先の URL を hello.html と記述することができます。

実際に試してみます。 /old ディレクトリに設置した .htaccess で次のように記述しました。

RewriteEngine on
RewriteBase /new
RewriteRule ^hello\.html$ hello.html [R=301]

ブラウザから /blog/hello.html へアクセスしてください。

RewriteBaseディレクティブの使い方(1)

リダイレクト先の記述となる /new ディレクトリに含まれる /new/hello.html へリダイレクトされます。

RewriteBaseディレクティブの使い方(2)

-- --

Apache の RewriteBase ディレクティブの使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。