CGIやPHPなど動的なページを静的なページに置き換えるのがmod_rewriteです。
正規表現を使って動的なURLを静的なURLに置き換える例ですが、
CGIを使った動的なURL
http://www.example.com/document/document.cgi?type=faq&lank=bigin&page=3
を
http://www.example.com/document/faq/bigin/3.html
という静的なhtmlのURLに置き換えることが出来ます。
googleやyahooのインデックスに動的なページは登録されにくいですが、mod_rewriteを使用することで静的なURLとする事が出来るので、インデックスに登録されやすくなり、SEO対策ともなります。
それと何より、静的なURLの方がユーザーにとってはなじみやすく見やすいものです。
mod_rewriteはApacheのconfigファイルに書いて設定することも出来ますが、.htaccessファイルにソースを書いて設定することも出来ます。..htaccessファイルを読み込ませることは、若干サーバーに負担をかけるので処理が遅くなると言う欠点がありますが、.htaccessという設定ファイルをアップロードするだけでmod_rewriteを利用できるので、手軽です。
mod_rewriteはApacheのモジュールとしてインストールして使用します。
mod_rewriteがインストールしてある
有名なサーバーでは、料金が安いと評判のさくらインターネット などがあります。
今回のわたしの話に出てくるmod_rewriteを使用しているサーバーはWILL@NET です。
root権限をもてるサーバーを借りられれば自分でインストールも出来るのですが、かなりやっかいなモジュールなので、よほど自信がない限りは、mod_rewriteがあらかじめインストールしてあるサーバーを借りるのが賢明でしょう。
.htaccessファイルの設定
本題の設定です。
.htaccessを配置するディレクトリやサーバーの設定によって、若干の違いがあります。
下に書いた設定の全てで動作する場合もありますし、どれか1つでしか動作しない場合もあります。試して作動する設定を探してください。
1行目のRewriteEngine onはmod_rewriteを使用するという宣言ですので全てで共通です。
わたしのサーバーとディレクトリの設定では1と2でしか動作しませんでしたが、2や3でしか動作しないサーバーもぐぐってみると有るようです。
2008/5/16追記
さくらインターネットに申し込む>>;さくらインターネット
mizunuma 5月 13th, 2008
Posted In: SEO対策, サーバーの設定とトラブルの回避方法