« PHP:is_readable()関数 | メイン | PHP:is_writable()関数 »

2006年12月18日

Apache:動的URLを静的に置換・mod_rewrite

http://lib.stwing.jp/item.php?item_id=25
 ↓
http://lib.stwing.jp/item/25

といった感じに動的なURLを静的なURLに置き換えたい場合、htaccessのmod_rewriteを使うと便利です。

上記の例の場合、以下を.htaccessに記述します。

RewriteEngine on
RewriteBase /

RewriteRule item/([0-9]+)$ /item.php?item_id=$1

※.htaccessが使用でき、mod_rewriteモジュールが許可されているサーバ環境でのみ使用できます。
※上記のように静的なURLに置換することにより、一般にSEO効果が高まると言われています。

複数の引数を置換することも可能です。

http://lib.stwing.jp/item.php?category=PHP&item_id=25
 ↓
http://lib.stwing.jp/PHP/25

のように置換する場合、以下を.htaccessに記述します。

RewriteEngine on
RewriteBase /

RewriteRule ([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ /item.php?category=$1&item_id=$2

投稿者 wing : 2006年12月18日 00:04

コメント