Ce paramétrage avec le drapeau P
est le bon pour ce que vous souhaitez faire. La documentation sur le drapeau P indique :
Utilisez ce drapeau (P) pour obtenir une implémentation plus puissante de la directive ProxyPass
Quelques points à noter sur l'exemple : comme l'a mentionné Andrew dans sa réponse, le DOCUMENT_ROOT
n'est pas nécessaire.
Le deuxième point est de faire attention à l'emplacement de ces instructions : supprimez le premier "/" de la RewriteRule (^(.*)$) si vous les mettez dans un <VirtualHost>
ou conteneur similaire...
De plus, le drapeau P implique le drapeau L, il n'est donc pas utilisé mais peut rendre les choses un peu plus claires si nous le laissons. De plus, un "/" est nécessaire après l'adresse web.
Donc, cela pourrait ressembler à ceci :
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/(.*)$ http://quelquepart/$1 [P,QSA,L]
0 votes
Peut-être j'ai mal compris votre question, mais cette configuration avec le drapeau
P
me semble correcte. Le doc (httpd.apache.org/docs/2.2/en/rewrite/flags.html#flag_p) ditUtilisez ce drapeau (P) pour obtenir une mise en œuvre plus puissante de la directive ProxyPass
. Avez-vous besoin d'équilibrage de charge ou est-ce juste un exemple? Où se trouve cette instruction?0 votes
Hmm, je pense que tu as raison concernant la directive P... Je devrais pouvoir m'en sortir avec juste ça. Le répartiteur est juste un exemple, pas indispensable en réalité. Tout cela serait dans la configuration principale (pas dans un hôte virtuel) car j'ai juste besoin qu'Apache serve des fichiers statiques s'ils existent (à des fins de simulation) ou les transmette à Tomcat dans tous les autres cas.
0 votes
J'avais testé cette configuration (sans l'équilibrage de charge) et c'est bon. Pensez juste à supprimer le premier "/" de la RewriteRule (
^(.*)$
) si vous le mettez dans un ou un conteneur similaire...0 votes
Génial! Merci! Voudriez-vous convertir le commentaire en une réponse pour que je puisse l'accepter?