動的urlを静的urlに変換するmod_rewriteについて教えて下さい。

パラメーターが1つ、又は2つと、決まってないときの書き方はどうすればいいでしょうか?

以下のように
ドメイン/値1/値2/ で、
kekka.php?str1=値1&str2=値2 が動くようには以下で出来ました。
RewriteRule ^([^/]+)/([^/]+)/?$ kekka.php?str1=$1&str2=$2 [L]
この値2があったり無かったりする場合どのようにすればいいでしょうか?

ドメイン/値1/値2/ のときや、
ドメイン/値1/   のときがある場合です。よろしくお願いします。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2010/09/14 15:58:14
  • 終了:2010/09/14 17:22:49

ベストアンサー

id:y-kawaz No.1

y-kawaz回答回数1420ベストアンサー獲得回数2252010/09/14 16:38:48

ポイント35pt

試してませんが↓こんな感じでいいんじゃないでしょうか?

RewriteRule ^([^/]+)(/[^/]+)?/?$ kekka.php?str1=$1&str2=$2 [L]

同様に以下のようにすれば、0個から9個までいくつでも対応できると思います。

RewriteRule ^([^/]+)?(/[^/]+)?(/[^/]+)?(/[^/]+)?(/[^/]+)?(/[^/]+)?(/[^/]+)?(/[^/]+)?(/[^/]+)?/?$ kekka.php?str1=$1&str2=$2&str3=$3&str4=$4&str5=$5&str6=$6&str7=$7&str8=$8&str9=$9 [L]
id:cafet

ありがとうございます!

試してみてうまくいきました。感謝します。

2010/09/14 17:22:00

その他の回答(1件)

id:y-kawaz No.1

y-kawaz回答回数1420ベストアンサー獲得回数2252010/09/14 16:38:48ここでベストアンサー

ポイント35pt

試してませんが↓こんな感じでいいんじゃないでしょうか?

RewriteRule ^([^/]+)(/[^/]+)?/?$ kekka.php?str1=$1&str2=$2 [L]

同様に以下のようにすれば、0個から9個までいくつでも対応できると思います。

RewriteRule ^([^/]+)?(/[^/]+)?(/[^/]+)?(/[^/]+)?(/[^/]+)?(/[^/]+)?(/[^/]+)?(/[^/]+)?(/[^/]+)?/?$ kekka.php?str1=$1&str2=$2&str3=$3&str4=$4&str5=$5&str6=$6&str7=$7&str8=$8&str9=$9 [L]
id:cafet

ありがとうございます!

試してみてうまくいきました。感謝します。

2010/09/14 17:22:00
id:deflation No.2

deflation回答回数1036ベストアンサー獲得回数1262010/09/14 16:40:15

ポイント35pt

下のように2行書けば良いと思います。

RewriteRule ^([^/]+)/$ kekka.php?str1=$1 [L]
RewriteRule ^([^/]+)/([^/]+)/$ kekka.php?str1=$1&str2=$2 [L]
id:cafet

ありがとうございます!

こちらも試してみてうまくいきました。大変参考になりました。

2010/09/14 17:22:17

コメントはまだありません

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

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

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

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