- PR -

Apacheのmod_rewriteで表示URLをリダイレクトしないで表示するには

1
投稿者投稿内容
Mozart
会議室デビュー日: 2003/05/02
投稿数: 7
投稿日時: 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 ]
shimix
ぬし
会議室デビュー日: 2004/08/05
投稿数: 512
お住まい・勤務地: 大分市
投稿日時: 2007-03-23 14:56
引用:

URLを
http://localhost/aaa/xxxx/
の状態で表示するのはどうすれば良いか、


内部proxy経由で

  RewriteRule ^/aaa/(.+)/?$ /index.jsp?$1 [P]

とすればどうでしょう?
Mozart
会議室デビュー日: 2003/05/02
投稿数: 7
投稿日時: 2007-03-23 15:08
ご返答ありがとうございます。

今は、環境を操作できないので後で実装してみます。
Mozart
会議室デビュー日: 2003/05/02
投稿数: 7
投稿日時: 2007-03-23 23:20
ようやく環境の前に着き、[P]で試すことが出来ました。

結果、ページを表示することが出来ました!ありがとうございます

しかし、imageファイルの参照が変わってしまったので、
×になってしまいましたが、、これは参照方法を変えるしかないのでしょうか?
shimix
ぬし
会議室デビュー日: 2004/08/05
投稿数: 512
お住まい・勤務地: 大分市
投稿日時: 2007-03-24 00:04
引用:

Mozartさんの書き込み (2007-03-23 23:20) より:
しかし、imageファイルの参照が変わってしまったので、
×になってしまいましたが、、これは参照方法を変えるしかないのでしょうか?


ブラウザは自分が認識しているURLとhtmlに書かれたpathで判断して取得に行くので、階層が違ってしまいますね。こればっかりは絶対path(/から記述)にするかURLで書くしかないでしょう。

rewriteしても階層の深さが変わらなければいいんですけどね・・

相対pathの位置関係を弄ってもいいですが、index.jsp?xxxx で表示できなくなってしまうとマズイでしょう(汗

[ メッセージ編集済み 編集者: shimix 編集日時 2007-03-24 01:32 ]
Mozart
会議室デビュー日: 2003/05/02
投稿数: 7
投稿日時: 2007-03-24 06:53
ありがとうございます。

仰る通り、相対pathの位置を調整してしまいますと、
遷移を変える事になりますので、絶対pathで書くかURLで書くかを検討しました。

そこで、
rewrite後の階層を合わせることにしました。
この点を失念しておりましたので、本当に助かりました。
ありがとうございます。
1

スキルアップ/キャリアアップ(JOB@IT)