2012/03/18

動的アドレスを静的アドレスへ変換

PHPやCGIでシステムを構築すると、URLに動的アドレスを入れる必要があります。
しかし、アドレスに「?」や「&」が入るのが嫌な時があります。
そんな時には、.htaccessファイルを利用してアドレスを書き換える事が出来ます。

例えば、test.php?id=123をtestpage-123.htmlに書き換えたいとき、
RewriteEngine on
RewriteRule ^testpage-([0-9]+)¥.html$ test.php?id=$1
と記述すれば、testpage-123.htmlでアクセスが可能になります。
引数が2つ以上の場合、例えば、test.php?id=123&ct=456をtestpage-123_456.htmlに書き換えたい場合は、
RewriteEngine on
RewriteRule ^testpage-([0-9]+)_([0-9]+)¥.html$ test.php?id=$1&ct=$2
となるわけです。
これで、testpage-123_456.htmlでアクセスが可能になります。