- - PR -
Apacheのmod_rewriteで表示URLをリダイレクトしないで表示するには
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-03-23 14:31
恐れ入ります。
環境は「Apache2+Tomcat5」でjk2で連携をしています。 http://localhost/index.jsp?xxxx を http://localhost/aaa/xxxx/ で表示したいと思い、 httpd.confの設定で <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^/aaa/(.+)/?$ /index.jsp?$1 </IfModule> と設定しましたが、404エラーとなってしまいました。 RewriteRule ^/aaa/(.+)/?$ /index.jsp?$1 ↓ RewriteRule ^/aaa/(.+)/?$ /index.jsp?$1 [R] として、URLをリダイレクトすると正常に表示できます。 URLを http://localhost/aaa/xxxx/ の状態で表示するのはどうすれば良いか、 ご教示下されば幸いです。 [ メッセージ編集済み 編集者: Mozart 編集日時 2007-03-23 14:33 ] [ メッセージ編集済み 編集者: Mozart 編集日時 2007-03-23 14:34 ] | ||||
|
投稿日時: 2007-03-23 14:56
内部proxy経由で RewriteRule ^/aaa/(.+)/?$ /index.jsp?$1 [P] とすればどうでしょう? | ||||
|
投稿日時: 2007-03-23 15:08
ご返答ありがとうございます。
今は、環境を操作できないので後で実装してみます。 | ||||
|
投稿日時: 2007-03-23 23:20
ようやく環境の前に着き、[P]で試すことが出来ました。
結果、ページを表示することが出来ました!ありがとうございます しかし、imageファイルの参照が変わってしまったので、 ×になってしまいましたが、、これは参照方法を変えるしかないのでしょうか? | ||||
|
投稿日時: 2007-03-24 00:04
ブラウザは自分が認識しているURLとhtmlに書かれたpathで判断して取得に行くので、階層が違ってしまいますね。こればっかりは絶対path(/から記述)にするかURLで書くしかないでしょう。 rewriteしても階層の深さが変わらなければいいんですけどね・・ 相対pathの位置関係を弄ってもいいですが、index.jsp?xxxx で表示できなくなってしまうとマズイでしょう(汗 [ メッセージ編集済み 編集者: shimix 編集日時 2007-03-24 01:32 ] | ||||
|
投稿日時: 2007-03-24 06:53
ありがとうございます。
仰る通り、相対pathの位置を調整してしまいますと、 遷移を変える事になりますので、絶対pathで書くかURLで書くかを検討しました。 そこで、 rewrite後の階層を合わせることにしました。 この点を失念しておりましたので、本当に助かりました。 ありがとうございます。 |
1