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

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

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

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

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

しかしhttp://hoge.net/の下には複数個、例えばhoge.php、fuga.php、uho.phpがあります。

上記質問の場合、hoge.netの下にhoge.phpしか無かったので以下のような記述を.htaccessへ行えばよかったのですが

>>
DirectoryIndex hoge.php

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

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

同じディレクトリに複数個、例えばhoge.php、fuga.php、uho.phpとある場合、どういう記述が考えられますか?

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

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

▽最新の回答へ

1 ● wizemperor
●60ポイント ベストアンサー

下記のように書けば上手くいくと思います。

保存した「.htaccess」を「http://hoge.net/」へ転送してみてください。

http://hoge.net/foo/0/19/?/」の「foo」の部分がそのままphpスクリプトに対応するようになります。

(foo -> foo.php、hoge -> hoge.php、fuga -> fuga.php)


DirectoryIndex index.html

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

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

「DirectoryIndex index.html」は「http://hoge.net/」にアクセスされたときに表示するファイルにしておいてください。(この行は必要ない場合も多いですが念のため。)

◎質問者からの返答

出来ました!

ありがとうございました!

関連質問


●質問をもっと探す●



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