mod_rewriteを活用する
- 2006.11.05
- プログラミング
■mod_rewriteって?
mod_rewriteはApacheのモジュールです。
インストールされていない場合は使用できません。
root権限が無い限り新たにインストールすることは難しいかと思います。
インストールされている場合は下記の方法で使用します。
httpd.confに設定する(処理速度速い)
.htaccessに設定する(処理速遅い)
しかしhttpd.confに設定する場合はroot権限が必要です。
また、httpd.confの更新内容を有効にするには、httpd.conf編集後にApacheを再起動する必要があります。
■mod_rewriteの設定例
・サイトの引越し時のリダイレクト
RewriteEngine on
RewriteRule ^/(.*)$ http://www.newsite.com/$1 [R=301,L]
この方法が有用な点は、R=301 という指定で、HTTPステータスコードの301(Moved Permanently、永久に移動したという意味)を返せる事です。
検索エンジンのロボットがアクセスした場合には、ステータスコード301によってURLが変更されたと読みとってくれます。
Googleでしたらほぼ、PageRankを引き継げるのではないかと思います。
・動的ページのURLを静的ページのURLに変換
RewriteEngine on
RewriteRule ^/cgi-bin/sample/([0-9A-Za-z]+)/([0-9A-Za-z)]+)/?$ /cgi-bin/sample.cgi?a=$1&b=$2 [L]
上の例では
http://www.hoge.com/cgi-bin/sample/123/abc
でアクセスすると
http://www.hoge.com/cgi-bin/sample.cgi?a=123&b=abc
にリダイレクトします。
静的URLの利点はロボット型検索エンジンにクロールやキャッシュされやすいという事です。
検索エンジンのロボットは動的URL(URLの最後が .cgi で終る)にはあまり対応していないために無視されることが多くなります。
-
前の記事
.htaccessを使ってURLをリダイレクト 2006.11.01
-
次の記事
CGI標準入出力ライブラリ stdio.pl 2006.11.11