2006年 11月 5

■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 で終る)にはあまり対応していないために無視されることが多くなります。

More from my site

  • Apacheでの文字化け対策Apacheでの文字化け対策 htmlをeucやutf-8等の文字コードで作成する必要がある時(cgiで作成するなど)の場合、ブラウザが文字コードを読めない場合がある。 httpd.confに以下の記述があると.htmlのファイルには自動でヘッダが送られてしまう。 AddType "text/html; charset=Shift_JIS" .html #AddType […]
  • MySQLにおける文字化け対策MySQLにおける文字化け対策 MySQL 4.1以降での文字化け対策についてのメモ デフォルトの文字コードが日本語にはなっていない。インストールしたままだと、こんな状態になっている。 mysql> SHOW VARIABLES LIKE 'char%';+--------------------------+----------------------------+| […]
  • ただ単にダミー画像をperlで表示するだけのルーチンただ単にダミー画像をperlで表示するだけのルーチン CGIでダミー画像(GIF)を表示するだけのスクリプト。画像データ必要なし。 my @dummy = […]
  • Postfixでのバーチャルドメインの設定Postfixでのバーチャルドメインの設定 バーチャルドメインをPostfixで使う場合 /etc/postfix/virtual の編集が必要となる 参考文献http://vine-linux.ddo.jp/linux/mail/virtual.php
  • Mac OSX でWebmin ファイルマネージャが使用出来ない時の対処法Mac OSX でWebmin ファイルマネージャが使用出来ない時の対処法 今まで普通に使用出来ていたWebminのFile Manager が突然エラーで表示出来なくなった。で、ググっていたらApple公式にヒントがあったのでメモ。 エラー内容はこんな感じ Failed to get Language […]
  • CGI::SpeedyCGI(PersistentPerl)によるPERLの実行速度アップ CGI::SpeedyCGI(PersistentPerl)によるPERLの実行速度アップ SpeedyCGIの導入 # yum install perl-CGI-SpeedyCGI ※要rpmfogeの導入 概要:http://perldoc.jp/docs/modules/CGI-SpeedyCGI-2.21/SpeedyCGI.pod MAXRUNSコマンドライン    : -rN環境変数       : […]

Filed under: プログラミング

Trackback Uri



コメントする