- - PR -
URIの~(チルダ)を%7Eに変換しない方法
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2002-07-27 20:29
ApacheにTomcatをアドインした状態で動かしてるのですが、
Apacheのpublic_htmlにWebコンテナをラッパーすると、セッションが維持されないという問題が起こっています。 実際には、http://xxx/~(User acount)/ でアクセスすると、自動的に~(チルダ)が%7Eに、/(スラッシュ)の後にindex.jspが補完されますが、この状態だとセッションが無効になるようです。 因みに、http://xxx/~(User acount)/index.jsp でアクセスすると、セッションは正常に動作しました。 症状の起こっているページ: http://longhinus.dyndns.org/~local/ (リロード後もセッションIDが変動) http://longhinus.dyndns.org/~local/index.jsp (セッションが保持される) 環境は以下の通りです。 OS: RedHat 7.3 Server: Apache 2.0.39, Tomcat 4.0.4 (mod_jkコネクタを利用) server.xml <Context path="/~local" docBase="/home/local/public_html" rossContext="false" debug="0" reloadable="true"></Context> mod_jk.conf JkMount /~local/* ajp13 Alias /~local "/home/local/public_html" RFC的にはよろしくないのかもしれませんが、チルダを自動で16進に変換しないよう 設定するにはどうやればよいのでしょうか。 以上、宜しくお願いします。 |
|
投稿日時: 2002-07-30 12:47
> RFC的にはよろしくないのかもしれませんが、チルダを自動で16進に変換しないよう
> 設定するにはどうやればよいのでしょうか。 Tomcatの実装では、当該個所にjava.net.URLEncoderを利用しているようです。 したがって、JDKのjava.net.URLEncoderのencodeメソッドで、~をエンコードしないようにソースを書き換えてビルドすれば可能だと思われます。 _________________ Paul K.Nakagome |
1
