RewriteBaseディレクティブ:リライト先を相対パスで指定するときの基準ディレクトリを設定する
RewriteBase ディレクティブは、 RewriteRule ディレクティブによって URL のリライトやリダイレクトが行われるときに、リライト先の URL を相対パスで指定するときの記述となるディレクトリを指定します。ここでは Apache の RewriteBase ディレクティブの使い方について解説します。
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 へアクセスしてください。
リダイレクト先の記述となる /new ディレクトリに含まれる /new/hello.html へリダイレクトされます。
-- --
Apache の RewriteBase ディレクティブの使い方について解説しました。
( Written by Tatsuo Ikura )

著者 / TATSUO IKURA
初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。