mod_rewriteを.htaccessで設定

前提

サーバの設定情報は以下の通りとし、すべてのリクエストに対して、http://www.example.com/error/index.htmlを表示させたい。

  • ドメイン名:http://www.example.com/
  • サーバルート:/home/www/htdocs/
  • .htaccessファイルのフルパス:/home/www/htdocs/.htaccess

記述例

 RewriteEngine On
 RewriteBase /
 RewriteRule ^error/index.html$ - [L]
 RewriteRule ^error/img/.*\.gif$ - [L]
 RewriteRule .* error/index.html [R,L]

なお、もしRewriteBaseを設定しないと、ベースは.htaccessファイルのフルパスのディレクトリ部(すなわち/home/www/htdocs)となり、書き換え後のURLはhttp://www.exapmle.com/home/www/htdocs/error/index.htmlになってしまう。 これを避けるために、

 RewriteRule .* /error/index.html [R,L]

として、リダイレクト先のURLを絶対パスで記述してもよい。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS