人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

動的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/ のときがある場合です。よろしくお願いします。

●質問者: cafet
●カテゴリ:ウェブ制作
✍キーワード:mod_rewrite PHP URL ドメイン パラメータ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● y-kawaz
●35ポイント ベストアンサー

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

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]
◎質問者からの返答

ありがとうございます!

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


2 ● deflation
●35ポイント

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

RewriteRule ^([^/]+)/$ kekka.php?str1=$1 [L]
RewriteRule ^([^/]+)/([^/]+)/$ kekka.php?str1=$1&str2=$2 [L]
◎質問者からの返答

ありがとうございます!

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ