J'essaye de mettre en place une règle simple dans mon httpd.conf en tant que précurseur de règles plus complexes que j'ai besoin de mettre en place.Renverser un REQUEST_URI avec! dans httpd.conf
Si j'utilise ceci:
RewriteCond %{REQUEST_URI} ^/test\.txt
RewriteRule ^(.*)$ http://127.0.0.1:8080 [R,L]
... alors une demande de /test.txt va au port 8080, comme prévu.
Mais si j'ajoute un! pour retourner le match REQUEST_URI, comme ceci:
RewriteCond %{REQUEST_URI} !^/test\.txt
RewriteRule ^(.*)$ http://127.0.0.1:8080 [R,L]
... alors chaque demande est envoyée au port 8080, y compris demandes de /test.txt. Je m'attendais à ce que text.txt soit autorisé à travers parce que le RewriteCond appliquerait la règle suivante à chaque demande que ne correspond pas match /text.txt.
Quelle erreur stupide et simple je fais ici? J'ai googlé jusqu'à ce que je devienne étourdi.
C'est probablement lié à vos autres règles (pour des raisons que je peux développer), pourriez-vous les poster aussi? –
Merci, Tim - il n'y a pas d'autres règles de réécriture au-delà du bloqueur TRACE/TRACK standard. Cependant, j'ai installé une nouvelle installation Apache sur une machine de rechange et les règles ci-dessus fonctionnent comme prévu, donc c'est évidemment quelque chose à faire avec l'installation sur la première machine. Ce n'est pas si grave parce que je voulais juste une machine pour construire les règles, et je peux le faire avec la nouvelle installation. – Nick