[mod_rewrite] [php]動的URL→静的URLについて その2


私が行った質問「http://q.hatena.ne.jp/1151099466」と似ているのですがちょっとだけ違う質問。

http://hoge.net/X_detail.php?navi=0&idol=19&query=%E9%80%A2%E4%B9%83%E3%81%86%E3%81%95%E3%81%8E

http://hoge.net/X/0/19/%E9%80%A2%E4%B9%83%E3%81%86%E3%81%95%E3%81%8E/
のような形で表示したい。

http://hoge.net/の下には複数個のXがあります。

上記質問の場合、ひとつのディレクトリに一つの「X_detail.php」しかなかったので以下のような記述を.htaccessへ行えばよかったのですが

>>
DirectoryIndex X_detail.php

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^X_detail/([0-9]+)/([0-9]+)/(.+)/$ X.php?navi=$1&idol=$2&query=$3
<<

同じディレクトリに複数個、例えば
http://hoge.net/index.phpがまずあって、同じディレクトリにhttp://hoge.net/hoge1_detail.phphttp://hoge.net/hoge2_detail.php、とある場合、どういう記述が考えられますか?



ご教示のほど、よろしくお願いします。。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/06/24 18:23:10
  • 終了:2006/06/25 07:28:50

回答(1件)

id:tezcello No.1

tezcello回答回数460ベストアンサー獲得回数692006/06/24 21:58:00

ポイント60pt

http://q.hatena.ne.jp/1151140987

> 複数個のXがあります

は、最後の方の

hoge1_detail.php

hoge2_detail.php

...


の事だと思います(Xが同じ階層に複数存在するはずは無いので)が、

その時に、hoge_detail.php に渡したいのか、

ディレクトリ表記を使って hoge1_detai1.php や hoge2_detail.php

に渡したいのかどちらなんでしょうか?


よく分りませんが、こんな感じなのかと一応書いてみました。


うちのテストサーバは DirectoryIndex が使えないので全く同じでは無いのは悪しからず。

RedirectMatch 301 ^([^.]*[^/])$ $0/

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^X/([0-9])/([0-9]+)/([0-9]+)/(.+)/$ X_detail$1.php?navi=$2&idol=$3&query=$4

id:catfrog

ありがとうございます&質問の仕方がおかしかったです、すみません。

「hoge1_detail.php、hoge2_detail.phpがあって、ディレクトリ表記を使って hoge1_detai1.php や hoge2_detail.phpに渡したい」

ということです。もう一度質問しなおします。ありがとうございました。

2006/06/25 07:28:17

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

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

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

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

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