動的ページを静的ページへ


mod_rewriteを勉強し大分内容がわかってきました。
しかし、こちらのサイトの質問者さんと同じ悩みになりました。http://www.phppro.jp/qa/3562
【内容】ありがとうございます。
mod_rewrite
にて対応したところ
http://testtestsite.com/test/777/999/
にてアクセスして、
http://testtestsite.com/index.php?action_test=1&param1=777&param2=999
の処理を行うことに成功しました。
しかし、URLの表示が
http://testtestsite.com/index.php?action_test=1&param1=777&param2=999
になってしまっているのですが、
非常に初心者的な質問で申し訳ございませんが
URL表示を
http://testtestsite.com/test/777/999/
にならない原因は何でしょうか?
【以上】
これに対する回答がなかったので、はてなで再度質問させていただきます。
単純に~.php などのファイルの中のHTML記述を書き換えるなどすれば求めている通り表示できると思いますが、何か一般的にウェブ制作のプロの方々はmod_rewriteなどに記述を加え変更するのでしょうか。また、セキュリティー上は動的ページでURLが見えていても問題ないという認識でいいでしょうか。

回答の条件
  • 1人20回まで
  • 13歳以上
  • 登録:2014/01/10 13:23:27
  • 終了:2014/01/14 22:14:12

ベストアンサー

id:tukihatu No.1

牛乳先生(tukihatu)回答回数180ベストアンサー獲得回数322014/01/10 17:11:23

ポイント100pt

すみません…書いた記述を出せる範囲で見せていただけるとバッチリ回答できるのですが…

RewriteEngine on
RewriteRule ^([0-9]+)/(.+)/(.+)/$ bbs.cgi?page=$1&mode=$2&style=$3 [L]

こんな形で書いていると仮定して回答します。
置き換え後のパスが相対パスだと上手く動かないです。
その場合以下の形でいけるとおもいます。

・ - [L]とする

RewriteEngine on
RewriteBase (bbs.cgiのあるフォルダパス)
RewriteRule ^bbs.cgi - [L]
RewriteRule ^([0-9]+)/(.+)/(.+)/$ bbs.cgi?page=$1&mode=$2&style=$3

・[R]は書かない。

http://blog.dawgsdk.org/weblog/archives/411011

他2件のコメントを見る
id:tukihatu

>追記
ん?ちょっと何を言わんとしているかわからないです。
mod_writeはapacheコマンドなので飛んできたURLに対して効果があります。
飛んでくる前にどういう状況だったかというのは関係ないはずです。絶対パスでも相対パスでも。
フォルダパス以降で正規表現ルールに引っかかるフォルダがあれば、bbs,cgiにジャンプしてしまうのか?という問いなら答えはYESです。ジャンプさせたくないフォルダがある場合は正規表現で頑張ってはじくしかないですね。

2014/01/13 20:51:16
id:akakak

ありがとうございます!

2014/01/14 22:14:05

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

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

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

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

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