他の方の質問・回答の応用かと思うのですが…
『http://www.ドメイン/○○○/●●●/』というURLで『http://www.ドメイン/○○○.php?param=●●●』を呼び出し、
『http://www.ドメイン/△△△/▲▲▲/』というURLで『http://www.ドメイン/△△△.php?param=▲▲▲』を呼び出し、
『http://www.ドメイン/□□□/■■■/』というURLで『http://www.ドメイン/□□□.php?param=■■■』を呼び出し…と、
どんどん増やしていくには、どうしたら良いでしょうか?
1つの場合の設定は検索で分かったのですが、複数の場合の設定がどうしても発見できません。
さらには、上記…
『http://www.ドメイン/○○○/●●●/』というURLで『http://www.ドメイン/○○○.php?param=●●●』を呼び出し、
『http://www.ドメイン/○○○/●●●/◎◎◎/』というURLで『http://www.ドメイン/○○○.php?param=●●●¶m2=◎◎◎』を呼び出し…という設定も同時に可能でしょうか?
それとも、こちらはPHPで処理するのでしょうか?
どうぞ、よろしくお願いいたします。
複数のルールが必要ならその数だけRewriteRuleを書けばいくつでも設定できます。複数RewriteRuleが記述されている場合は上から順に評価して最初にマッチしたものが実行されるだけです。
ただ、質問のケースだと○○○や△△△用などのRewriteRuleを複数書かなくても以下のような設定ですべてカバーできるんじゃないかと思います。
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/]+)/?([^/]+)?/?([^/]+)?/? /$1.php?param=$2¶m2=$3 [L,QSA]
3段以上のディレクトリもparam3、param4などに書き換えたければ ([^/]+)?/? と paramX=$X の部分を必要な数だけ増やして書いておけばよいです。
ありがとうございます。
早速、設置してみたのですが…
『http://www.ドメイン/○○○.php?param=●●●¶m2=◎◎◎』というURLにアクセスしますと…
$param = $_GET{'param'};
$param2 = $_GET{'param2'};
…で、$paramには●●●が、$param2には◎◎◎が代入されるのですが、
『http://www.ドメイン/○○○/●●●/◎◎◎/』というURLにアクセスしますと代入されません。
「$_GET{'param'}」で取得するのではないのでしょうか?
それから「複数のルールが必要ならその数だけRewriteRuleを書けばいくつでも設定できます」の設定も教えていただけませんか?