1

私はしばらくの間これをやろうとしてきましたが、うまくいきませんでした。これはおそらく初心者の質問なので、申し訳ありませんが、これについては助けが必要です。

cgi-bin/java-rmi.cgi へのリクエストを (Apache から) tomcat のサーブレットにリダイレクトしようとしています。サーブレットに正常にリダイレクトできましたが、暗黙的なリダイレクトを行うことができませんでした (クライアントからの URL の変更を隠しています)。

rmi がリダイレクトされると機能しないため、これは必須です。そのため、これをクライアントから非表示にする必要があります。

現在、私のhttpd.confは次のようになっています(明らかに関連するもののみ)

RewriteEngine on
RewriteLog logs/rewrite.log
RewriteLogLevel 9
RewriteRule ^/cgi-bin/java\-rmi\.cgi http://localhost/RMIServlet [P]

Alias /RMIServlet "C:/Program Files (x86)/Apache Software Foundation/Tomcat 6.0/webapps/RMIServlet"
<Directory "C:/Program Files (x86)/Apache Software Foundation/Tomcat 6.0/webapps/RMIServlet/">
Options Indexes FollowSymLinks
</Directory>

include "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/conf/mod_jk.conf"

さらに、私の mod_jk.conf は次のようになります (ここでも、関連するもののみ)

# Send everything!! to worker ajp13
JkMount / ajp13
JkMount /* ajp13

(mod_jk.confは問題とは関係ないと思いますが)

これらも有効にしました:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule rewrite_module mo

dules/mod_rewrite.so

http://localhost/cgi-bin/java-rmi.cgiを開こうとすると、 http://localhost/RMIServletという URL でページが開きますが、これは良くありません。

私は何を間違っていますか?

ありがとう!

4

2 に答える 2

0

代わりにこれを試してみませんか?(つまり、ホスト部分を省略?)

RewriteRule ^/cgi-bin/java\-rmi\.cgi /RMIServlet [P]
于 2009-08-09T08:24:34.097 に答える
0
  1. Dav は間違っています。[P] では、置換はプロトコルとホスト名を含む修飾された URI である必要があります。

  2. mod_proxy は本当にアクティブで、正しく構成されていますか? 申し訳ありませんが、私はまだこれを行っていないため、それについてはお手伝いできません。

  3. URL を書き換える前に RMIServlet を定義してみてください。

  4. ルールの後に別の書き換えが行われている可能性があります。最後のルールに L を追加してみてください。RewriteRule ^/cgi-bin/java\-rmi\.cgi http://localhost/RMIServlet [P,L]

于 2009-08-09T14:28:42.143 に答える