• ベストアンサー

htaccessでURLを階層式の短縮URLに

htaccessに関する質問です。 GETパラメータのついたURLを、 ディレクトリ式の短縮URLにしたいです。 例) http://〇〇〇.jp/detail.php?no=123456  ↓以下のように http://〇〇〇.jp/123456/ htaccessにどのように記述すればよいでしょうか。 簡単な説明もいただけるとうれしいです。 ご指導ください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.1

RewriteEngine on RewriteRule ^/([0-9]+)/$ /detail.php?no=$1 [L] って感じですかね。 「RewriteEngine on」でmod_rewriteというURL書換機能を有効にします。 「RewriteRule」は書換ルールの設定で、第1引数は閲覧者が入力するURLを正規表現で記述していて、パスがスラッシュで始まってスラッシュで終わり、中に数字が1文字以上入っているというパターンを指定してます。 第2引数は実際に動作する際のURLで、$1 と言うのは第1引数の正規表現で1個目のカッコで括られた部分にマッチした値で置き換えるという意味です。 第3引数の [L] は書換ルールの処理条件で、この書換ルールにマッチしたら書換処理を終了するという意味です。 mod_rewrite で検索すると沢山解説ページが見つかると思います。

osiete4646
質問者

お礼

とても分かりやすいです! やさしい言葉で解説いただきましてありがとうございます!

関連するQ&A