2009-08-09 9 views
1

J'essaie de faire cela depuis un certain temps sans succès. Je vais dire à l'avance que c'est probablement une question de débutant alors excuses, mais j'ai besoin d'aide avec cela.Réécriture d'Apache avec redirection implicite

J'essaye de rediriger des demandes à cgi-bin/java-rmi.cgi à une servlet sur tomcat (d'apache). J'ai réussi à rediriger vers le servlet avec succès, mais je n'ai pas été en mesure de faire une redirection implicite (cacher le changement d'adresse du client).

Ceci est obligatoire car rmi ne fonctionnera pas s'il est redirigé, donc je dois le cacher au client.

En ce moment, mon httpd.conf ressemble à ceci (que les choses pertinentes évidemment)

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" 

En outre, mon mod_jk.conf ressemble à ceci (encore une fois, que des choses pertinentes)

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

(bien que je présume que mod_jk.conf n'a rien à voir avec le problème)

J'ai également activé ceux-ci:

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

Dules/mod_rewrite.so

Chaque fois que je tente d'ouvrir la page http://localhost/cgi-bin/java-rmi.cgi ouvre avec l'URL http://localhost/RMIServlet qui est pas bon.

Qu'est-ce que je fais mal?

Merci!

Répondre

0
  1. Dav est erroné, avec [P] le remplacement doit être un URI qualifié, y compris le protocole et le nom d'hôte.

  2. Mod_proxy est-il réellement actif et configuré correctement? Désolé, je ne peux pas vous aider, car je ne l'ai pas encore fait.

  3. Essayez de définir RMIServlet avant de réécrire l'URL.

  4. Peut-être il y a une autre ré-écriture passe après votre règle, essayez L pour annexant dernière règle, alors faites RewriteRule ^/cgi-bin/java\-rmi\.cgi http://localhost/RMIServlet [P,L]

0

Essayez à la place? (A savoir, omettre la partie hôte?)

RewriteRule ^/cgi-bin/java\-rmi\.cgi /RMIServlet [P] 
+0

Merci, mais cela n'a pas fonctionné. :-((rien n'a changé ...) – Ben

+0

Oh, j'ai mal compris le problème. Avez-vous d'autres RewriteRules définies? – Amber

+0

Je n'ai pas tous les changements que j'ai faits (à part le fichier worker.properties) – Ben