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

[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.php、http://hoge.net/hoge2_detail.php、とある場合、どういう記述が考えられますか?



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

●質問者: catfrog
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:.htaccess mod_rewrite NAVI ON PHP
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● tezcello
●60ポイント

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

◎質問者からの返答

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

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

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

関連質問


●質問をもっと探す●



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