投稿日:2004年12月02日 作成鷹の巣

No.17859 Tomcatで302リダイレクトを起こさない方法を教えて~



Tomcatで302リダイレクトを起こさない方法を教えて~

No.17859 投稿時間:2004年12月02日(Thu) 01:36 投稿者名:帯鯖 URL:

帯鯖@名古屋です。

# 久しぶりにスレを起こしてみます。


分からん点:

Tomcat 側へ「/」でリクエストされた場合、index.jsp 等へ 302 リダイレクトせずに、
Apache のように「/」のままレスポンスするには、どう設定すればよいんざましょ?


条件:

・入口は Apache。コネクタ経由で Tomcat 側へ転送。(※必ず Apache を経由すること)
・Tomcat への転送条件は、「/*」と「/」。
(すなわち、*.com/ でリクエストされて、*.com/ のままレスポンスしたい。)


「Tom スレに投稿せよ」と怒られるかもしれませぬが、見当たらないので。


Tomcatについては、全く知らないのですが。

No.17865 投稿時間:2004年12月02日(Thu) 22:25 投稿者名:鷹の巣 URL:http://sakaguch.com/

> Tomcat 側へ「/」でリクエストされた場合、index.jsp 等へ 302 リダイレクトせずに、
> Apache のように「/」のままレスポンスするには、どう設定すればよいんざましょ?

> 条件:
>
> ・入口は Apache。コネクタ経由で Tomcat 側へ転送。(※必ず Apache を経由すること)
> ・Tomcat への転送条件は、「/*」と「/」。
> (すなわち、*.com/ でリクエストされて、*.com/ のままレスポンスしたい。)


Tomcatについては、全く知らないのですが、web.xml内の<welcome-file-list>タブ内の記述順序を変更すれば、
index.htmlが表示されるのではありませんか?
# 条件を満たしていないかもしれませんが。
参考URL:
http://www.jajakarta.org/tomcat/faq/misc.html#welcome
http://marc.theaimsgroup.com/?l=tomcat-user&m=104566785828794&w=2


う~む、200 OKは、難しいのかなぁ。

No.17886 投稿時間:2004年12月05日(Sun) 02:09 投稿者名:帯鯖 URL:

帯鯖@名古屋です。

welcome-file-list には、index.html, index.jsp を登録しています。

現在、「/」でリクエストされると、この定義に基づき index.jsp が表示されるのはよいですが…、
その際、302 リダイレクトを発行しています。

GET / HTTP/1.1" 302 0
GET /index.jsp HTTP/1.1" 200 6338

これを、Apache のように、

GET / HTTP/1.1" 200 6338

のようにレスポンスしたいんですがね。。。

*.jsp でコンテナにコンパイル指示を出すので、やっぱりできんのかなぁ…。

> > Tomcat 側へ「/」でリクエストされた場合、index.jsp 等へ 302 リダイレクトせずに、
> > Apache のように「/」のままレスポンスするには、どう設定すればよいんざましょ?
>
> > 条件:
> >
> > ・入口は Apache。コネクタ経由で Tomcat 側へ転送。(※必ず Apache を経由すること)
> > ・Tomcat への転送条件は、「/*」と「/」。
> > (すなわち、*.com/ でリクエストされて、*.com/ のままレスポンスしたい。)
>
>
> Tomcatについては、全く知らないのですが、web.xml内の<welcome-file-list>タブ内の記述順序を変更すれば、
> index.htmlが表示されるのではありませんか?
> # 条件を満たしていないかもしれませんが。
> 参考URL:
> http://www.jajakarta.org/tomcat/faq/misc.html#welcome
> http://marc.theaimsgroup.com/?l=tomcat-user&m=104566785828794&w=2


ヘッダ情報の発行でなんとかなりそうな気が。

No.17892 投稿時間:2004年12月05日(Sun) 13:08 投稿者名:鷹の巣 URL:http://sakaguch.com/

> 現在、「/」でリクエストされると、この定義に基づき index.jsp が表示されるのはよいですが…、
> その際、302 リダイレクトを発行しています。
>
> GET / HTTP/1.1" 302 0
> GET /index.jsp HTTP/1.1" 200 6338
>
> これを、Apache のように、
>
> GET / HTTP/1.1" 200 6338
>
> のようにレスポンスしたいんですがね。。。

CGI(perl)の場合ですが、私も旧URL
http://sakaguch.com/cgi/bbs/wforum.cgi
でアクセスされたら、新URL
http://sakaguch.com/cgi/bbs/index.cgi
に転送しています。その際、Webサーバーが302で応答しない様に301 Moved Permanentlyで応答させています。
------wforum.cgiの内容------
#!D:/Perl/bin/perl.exe
print "Status: 301 Moved Permanently\n";
print "Content-type: text/html\n";
print "Location: ./\n\n";
exit;
---------------------------

Server Header Checker
http://www.searchengineworld.com/cgi-bin/servercheck.cgi
のページに「http://sakaguch.com/cgi/bbs/wforum.cgi」を入力すると、誰でも確認できます。


> *.jsp でコンテナにコンパイル指示を出すので、やっぱりできんのかなぁ…。

ヘッダ情報の発行でなんとかなりそうな気がするのですが。
参考URL:
JSPの基本「暗黙オブジェクト」をさらに極める
http://www.atmarkit.co.jp/fjava/rensai2/jspservlet06/jspsevlet06_2.html

# 入口は、Apacheで、コネクタ経由でTomcat側へ転送ということですから、よく解りませんけど。


別の方法でやってみます。

No.17943 投稿時間:2004年12月12日(Sun) 03:15 投稿者名:帯鯖 URL:

帯鯖@名古屋です。

実験してみました。

1. ディレクトリルートを、index.html に置き換える

"GET / HTTP/1.1" 302 0
"GET /index.html HTTP/1.1" 200 18

だめだな。

こりゃ、例えば index.jsp や index.cgi でヘッダを設定したとしても、
「/」リクエストに対して 302 を発行してしまうな。

Apache は「/ 200」で返すことができるので、そもそも転送条件を見直そうとは
思っていましたが、そうすると、Apache 用ディレクトリと Tomcat 用ディレクトリに
それぞれファイルが散逸してしまって、管理できないと。

もしかして、Apache 用ディレクトリ、Tomcat 用ディレクトリを同一にすれば
できるのかも。CLASSPATH の問題等はありそうですが。

別の方法でやってみます。

> > 現在、「/」でリクエストされると、この定義に基づき index.jsp が表示されるのはよいですが…、
> > その際、302 リダイレクトを発行しています。
> > > > GET / HTTP/1.1" 302 0
> > GET /index.jsp HTTP/1.1" 200 6338
> > > > これを、Apache のように、
> > > > GET / HTTP/1.1" 200 6338
> > > > のようにレスポンスしたいんですがね。。。
> > CGI(perl)の場合ですが、私も旧URL
> http://sakaguch.com/cgi/bbs/wforum.cgi
> でアクセスされたら、新URL
> http://sakaguch.com/cgi/bbs/index.cgi
> に転送しています。その際、Webサーバーが302で応答しない様に301 Moved Permanentlyで応答させています。
> ------wforum.cgiの内容------
> #!D:/Perl/bin/perl.exe
> print "Status: 301 Moved Permanently\n";
> print "Content-type: text/html\n";
> print "Location: ./\n\n";
> exit;
> ---------------------------
> > Server Header Checker
> http://www.searchengineworld.com/cgi-bin/servercheck.cgi
> のページに「http://sakaguch.com/cgi/bbs/wforum.cgi」を入力すると、誰でも確認できます。
> > > > *.jsp でコンテナにコンパイル指示を出すので、やっぱりできんのかなぁ…。
> > ヘッダ情報の発行でなんとかなりそうな気がするのですが。
> 参考URL:
> JSPの基本「暗黙オブジェクト」をさらに極める
> http://www.atmarkit.co.jp/fjava/rensai2/jspservlet06/jspsevlet06_2.html
> > # 入口は、Apacheで、コネクタ経由でTomcat側へ転送ということですから、よく解りませんけど。


|目次|掲示板|過去ログ目次|▲頁先頭|