Tomcat 8.0 Réécriture De La Valve
Je suis en train d'utiliser le RewriteValve dans Tomcat 8.0 http://tomcat.apache.org/tomcat-8.0-doc/rewrite.html
Dans $CATALINA_HOME/conf/server.xml, j'ai ajouté
<Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />
juste en dessous de la balise de l'Hôte
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
Créé un rewrite.config
dans le $CATALINA_HOME/conf
répertoire avec le suivant
RewriteRule ^/abc /myapp
où http:/host:port/myapp
est une webapp.
Alors maintenant, quand je vais à http://host:port/abc
je m'attends à être redirigé vers http://host:port/myapp
mais j'obtiens une erreur 404 the requested resource is not available
à la place.
Il ne regarde pas comme il est, même à la lecture de mon réécriture.fichier de configuration. Le journal des accès dans le répertoire logs juste les rapports de la "GET /abc HTTP/1.1" 404 1000
sans plus de détails.
Ce qui me manque? Grâce
RewriteValve
? Rien de pertinent dans les journaux? Au premier coup d'œil, ce que vous avez semble correct. Quelle version d'Apache Tomcat utilisez-vous?Comment puis-je activer la journalisation du DÉBOGAGE pour
RewriteValve
? J'utilise Tomcat 8.0.15Chris - Toutes les idées, quoi d'autre puis-je essayer? Je suis à peu près à bout de ressources, vous ne savez pas comment déboguer/résoudre ce problème plus loin. Merci pour toute aide.
Lire le Tomcat guide de l'utilisateur, l'article sur l'exploitation forestière pour voir comment configurer
DEBUG
la journalisation pour une seule classe. En gros, vous avez juste à ajouter une ligne à logging.properites
qui configure Java du mécanisme de journalisation (java.util.log
).OK maintenant que nous sommes se rendre quelque part. DÉBOGAGE ne fonctionne pas. J'ai ajouté
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = FINE
de la conf/enregistrement.propriétés et vu 19-Nov-2014 13:30:21.322 FINE [Catalina-startStop-1] org.apache.catalina.valves.rewrite.RewriteValve.startInternal No configuration resource found: Catalina/localhost/rewrite.config in ...
en localhost.2014-11-19.journal. Donc je l'ai déplacé mon réécriture.fichier de configuration de /conf à conf/Catalina/localhost et maintenant, c'est de ramasser mes règles de réécriture. Peut-être que la documentation peut rendre cela plus clair. Merci.OriginalL'auteur V.A. | 2014-11-14
Vous devez vous connecter pour publier un commentaire.
Dans Tomcat documentation http://tomcat.apache.org/tomcat-8.0-doc/rewrite.html est écrit
donc, essayez de déplacer
rewrite.config
en$CATALINA_HOME/conf/Catalina/localhost
Petite astuce: vous pouvez épeler quelque chose dans
rewrite.config
( par exemplexxRewriteRule
) et puis si tomcat lit ce fichier, il échoue. Je pense que dans votre cas, tomcat commence, même si vous avez mal orthographié quelque chose (parce qu'il n'est pas lu).OriginalL'auteur michal4
Si vous souhaitez quelque chose de différent que le chemin d'accès par défaut
$CATALINA_HOME/conf/Catalina/localhost
, vous pourriez être en mesure de faire usage de la resourcePath champ dans votre RewriteValve définition xml pour spécifier un chemin relatif vers le fichier de configuration. (Certes, je n'ai pas utilisé.)Alternativement, vous pouvez ajouter de la vanne à
$CATALINA_HOME/conf/context.xml
et de passer ensuiterewrite.config
dans votre application web du répertoire WEB-INF.De la la documentation:
OriginalL'auteur jeff
J'ai eu à commenter les AccessLogValve dans le server.xml pour ma réécriture de la valve de travail
OriginalL'auteur slugslog
Selon apacheDoc
La réécriture de la valve est configuré comme une soupape à l'aide de l'org.apache.catalina.les vannes.réécriture.RewriteValve nom de la classe.
La réécriture de la valve peut être configuré comme une soupape ajouté dans un Hôte. Voir virtuel de documentation du serveur pour plus d'informations comment la configurer. Il va utiliser une réécriture.fichier de configuration contenant la réécriture des directives, il doit être placé dans le dossier de configuration de l'Hôte.
Il peut aussi être dans le context.xml d'une webapp. La vanne sera alors utiliser une réécriture.fichier de configuration contenant la réécriture des directives, il doit être placé dans le répertoire WEB-INF de l'application web
OriginalL'auteur Ali Moshiri