mt4iを静的なアドレスにする

外部からの見た目アドレスを静的な名前にしたいが、内部的には変更したくない。
という場合は、要求されたURLをリアルタイムで書き換える。

内部的なアドレス index.cgi?mode=individual&eid=xxx
外部から見たアドレス individual_xxx.html

普通はアパッチの設定ファイルをいじるが、レンタルサーバの場合は.htaccessを編集する。

.htaccessファイルの編集

  • サンプル
RewriteEngine On
RewriteBase /mt4i/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)_([0-9]+)\.html$ index.cgi?mode=$1&eid=$2 [QSA,L]
  • それぞれの説明
RewriteEngine on
↑書き換え機能をONにする。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
↑実際にリクエストされたディレクトリやファイルが存在すれば書き換えは実行しない。

RewriteRule ^(.*)_([0-9]+)\.html$ index.cgi?mode=$1&eid=$2 [QSA,L]
↑書き換え規則を正規表現で指定する。
  • RewriteRule関係のエントリー

http://net-newbie.com/trans/mod_rewrite.html
http://d.hatena.ne.jp/sdkt4a/20090726/1248588550
http://ebj.blog103.fc2.com/blog-entry-3.html
http://forum.su-jine.net/theme/server/105/