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

「さくらのレンタルサーバ」で「.htaccess(mod_rewrite)」の設定がわかりません。

他の方の質問・回答の応用かと思うのですが…
『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=●●●&param2=◎◎◎』を呼び出し…という設定も同時に可能でしょうか?
それとも、こちらはPHPで処理するのでしょうか?

どうぞ、よろしくお願いいたします。


●質問者: cue-tom
●カテゴリ:ウェブ制作
✍キーワード:.htaccess mod_rewrite PHP URL □□□
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● y-kawaz
●60ポイント

複数のルールが必要ならその数だけRewriteRuleを書けばいくつでも設定できます。複数RewriteRuleが記述されている場合は上から順に評価して最初にマッチしたものが実行されるだけです。

ただ、質問のケースだと○○○や△△△用などのRewriteRuleを複数書かなくても以下のような設定ですべてカバーできるんじゃないかと思います。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?([^/]+)?/?([^/]+)?/? /$1.php?param=$2&param2=$3 [L,QSA]

3段以上のディレクトリもparam3、param4などに書き換えたければ ([^/]+)?/? と paramX=$X の部分を必要な数だけ増やして書いておけばよいです。

◎質問者からの返答

ありがとうございます。

早速、設置してみたのですが…

http://www.ドメイン/○○○.php?param=●●●&param2=◎◎◎』というURLにアクセスしますと…

$param = $_GET{'param'};

$param2 = $_GET{'param2'};

…で、$paramには●●●が、$param2には◎◎◎が代入されるのですが、

http://www.ドメイン/○○○/●●●/◎◎◎/』というURLにアクセスしますと代入されません。

「$_GET{'param'}」で取得するのではないのでしょうか?

それから「複数のルールが必要ならその数だけRewriteRuleを書けばいくつでも設定できます」の設定も教えていただけませんか?

関連質問


●質問をもっと探す●



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