その設定方法についての説明です。
例としてAmazonのAPIを使用した商品紹介ページを考えます。
■仕様
・「本」カテゴリの「TIGER&BUNNY(タイガー&バニー) ~桂正和原画&ラフ画集成~」という商品のページ
・「本」カテゴリのSearchIndexは「Books」とする。
・「TIGER&BUNNY(タイガー&バニー) ~桂正和原画&ラフ画集成~」当商品のASINは「408908153X」とします。
■設計
仕様から、以下のようなURLを考えます。
1)パラメータつきのURL
http://www.foo.com/item.php?s=books&a=408908153X
2)パラメータなしのURL
http://www.foo.com/item/books/408908153X
今流行のURL形態にしようと思います。
■実装
実装は以下のような感じです。
1)「item.php」上のAタグ、HREF属性を上のパラメータなしURLに変更する。
2)www.foo.comドメインのトップディレクトリにある「.htaccess」にRewriteの設定を記述する。
■Rewriteの設定
やっと本番です。今の例の場合「.htaccess」は以下のようになるでしょう。
RewriteEngine on // Rewrite設定有効化
RewriteCond %{REQUEST_FILENAME} !-f // リクエストに「実体」がある場合それを優先する
RewriteCond %{REQUEST_FILENAME} !-d // リクエストに「実体」がある場合それを優先する
RewriteRule /item/([a-zA-Z]+)/([0-9a-zA-Z]+)$ /item.php?s=$1&a=$2 [L] // 実際の動作
RewriteRuleの「[a-zA-Z]」や「[0-9a-zA-Z]」、「()」「+」「$」は正規表現というものです。
意味は
・[a-zA-Z] → 「小文字のa~zまでと大文字のA~Zまでのどれか1文字」を表す
・[0-9a-zA-Z] → 「数字0~9、小文字のa~zまでと大文字のA~Zまでのどれか1文字」を表す
・() → 括弧で括られた部分をキャプチャして左から順に$1、$2という風に後から使えるようにする。
・+ → 直前のパターンが1文字以上続く、という条件
・$ → 行末の意味
などです。これらは「メタ文字」といいますが、詳しくは専門書でも見てください。説明が大変なんですw
これで多分、動くようになると思いますが実際はよくテストを行い確認をして使ってください。