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

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

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が見えていても問題ないという認識でいいでしょうか。

●質問者: ak
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● 牛乳先生(tukihatu)
●100ポイント ベストアンサー

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

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


akさんのコメント
牛乳先生 いつも詳しくありがとうございます。 mod_write 理解したと思ったらやはり奥が深いw まだまだでしたw 内容理解しました。 ありがとうございます。 また、ユーザーの方に参考に http://log.nissuk.info/2012/04/apache-rewritebase.html も参考になりました。

akさんのコメント
追記。そうなると、もし、元々、aタグで絶対パスでhtmlの中で記述をしている場合 そこをクリックした場合はどうしても動的表示で見えてしまうという認識になりますでしょうか?

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

akさんのコメント
ありがとうございます!
関連質問

●質問をもっと探す●



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