apacheの".httpdocs"ファイルで

RewriteRule をうまく書けず困っています。

"/show.php?id=1-2&index=abcd"というURLを
"/show/1-2/abcd"となるようにサイトを運営したいのですが
もともとapacheを理解できてないため、うまくいきません。
"RewriteEngine on"の後、どう記述すればいいか教えてください m(_ _)m

回答の条件
  • 1人1回まで
  • 登録:2009/10/17 21:09:31
  • 終了:2009/10/17 22:59:45

回答(1件)

id:scrap49 No.1

scrap49回答回数18ベストアンサー獲得回数42009/10/17 22:10:27

ポイント100pt

RewriteEngine on

RewriteBase /

RewriteRule ^show/([0-9\-]+)/([a-z]+)$ show.php?id=$1&index=$2 [L]

id:kka

期待通りの動作いたしました!

ありがとうございました。

2009/10/17 22:59:05
  • id:kka
    質問の補足です。
    "id=1-2"は数字ではなく"2-2112"や"3-2134"といった文字変数を表します。
    よろしくお願いします。
  • id:scrap49
    回答は
    /show/1-2/abcd/
    のように最後が / で終わると404エラーになります。
    なので文字列末尾の直前に /? を入れておく方がいいかな。
    RewriteRule ^show/([0-9\-]+)/([a-z]+)/?$ show.php?id=$1&index=$2 [L]

    2番目の引数が省略されている場合も考慮するなら
    RewriteRule ^show/([0-9\-]+)/?$ show.php?id=$1 [L]
    RewriteRule ^show/([0-9\-]+)/([a-z]+)/?$ show.php?id=$1&index=$2 [L]

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません