mod_rewriteで、***.htmlにアクセスの場合に、***.php へアクセスさせるにはどのように記述すれば良いでしょうか?

回答の条件
  • URL必須
  • 1人1回まで
  • 登録:2009/07/11 16:45:56
  • 終了:2009/07/18 15:01:17

回答(3件)

id:b-wind No.1

b-wind回答回数3344ベストアンサー獲得回数4402009/07/11 16:50:52

ポイント27pt
RewriteEngine On
RewriteRule ^(.*)\.html$ $1.php [L]

mod_rewrite

id:akide

test.php が無く、test.html がある場合に、test.htmlにアクセスした場合、NotFoundにならないようにするにはどうしたらよいでしょうか?

2009/07/11 17:11:12
id:zelazny No.2

zelazny回答回数95ベストアンサー獲得回数122009/07/12 17:46:00

ポイント27pt

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)\.html$ $1.php [L]

ファイル名にマッチしない場合を示す条件指定を加えればいいと思います。

http://studyroom.g.hatena.ne.jp/pha/20070511/p1

id:akide

お返事遅くなり失礼しました。

回答ありがとうございます。

2009/07/18 15:00:58
id:sphire No.3

sphire回答回数115ベストアンサー獲得回数122009/07/15 01:07:34

ポイント26pt
  • hoge.htmlもhoge.phpも存在する時には、hoge.htmlへのアクセスでhoge.phpを表示させたい。
  • hoge.htmlは存在するがhoge.phpが存在しない時には、hoge.htmlをそのまま表示させたい。

という要件ですかね。

いっそ、全てのアクセスを受け付けるスクリプトを1つ作ればと思います。

仮に /_router.php としましょうか。

RewriteEngine On
RewriteRule ^_router\.php - [L]
RewriteRule (.*) /_router.php [L]

全てのアクセスは /_router.php に集まります。

_router.phpでは、$_SERVER['REQUEST_URI']あたりを見て、見せたいファイルを見せてあげる(文字コードの問題が無ければ requireすればOK)ようにすればOKです。

http://suika.fam.cx/~wakaba/wiki/sw/n/REQUEST_URI

id:akide

お返事遅くなり失礼しました。

回答ありがとうございます。

2009/07/18 15:01:02

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

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

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

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

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