remise au propre des exemples de RW rules, et ajouter du cas d'un site en maintenance

This commit is contained in:
Gregory Colpart 2018-09-06 19:24:53 +02:00
parent da5ab17855
commit fb382281d4

View file

@ -609,28 +609,40 @@ Note : pour utiliser *ldaps* avec un certificat non reconnu par le système, il
Voici quelques motifs classiques de redirection vers un nouveau domaine (HTTP 302) … du plus simple au plus compliqué :
~~~
# rediriger la page d'accueil avec un code 301
RedirectPermanent / http://new.example.com
# rediriger n'importe quelle requête en conservant le chemin
RedirectMatch ^/(.*)$ http://new.example.com/$1
# GET / --> /sub/
# rediriger la page d'accueil vers un autre chemin
RedirectMatch ^/$ /sub/
# rediriger n'importe quelle requête en conservant le chemin avec des exceptions
RewriteCond %{REMOTE_ADDR} !^192\.0\.2\.129
RewriteRule ^/(.*) http://new.example.com/$1 [L,R=permanent]
# rediriger vers HTTPS sauf pour certaines requetes
RewriteCond %{REQUEST_URI} !^/.well-known/pki-validation/
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [L,R]
# le drapeau NC pour ne pas tenir compte de la casse
# le drapeau NC permet de ne pas tenir compte de la casse
RewriteRule ^/FoO.tXt /sub/ [L,R,NC]
# empêcher des requêtes POST sur une URL particulière
RewriteCond %{REQUEST_METHOD} POST
RewriteRule ^/foo.txt [L,F]
# Pour forcer le https
# rediriger vers HTTPS dans un VirtualHost mixte HTTP/HTTPS
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [L,R=permanent]
# mettre un site en maintenance (code 503) avec des exceptions
RewriteCond %{REMOTE_ADDR} !^192\.0\.2\.129
RewriteRule ^.*$ /maintenance.html [R=503,L]
ErrorDocument 503 http://maintenance.evolix.org/
Header Set Cache-Control "no-cache, no-store"
Header Set Pragma "no-cache"
~~~
Pour supprimer un Query String avec une Rewrite Rule : <https://www.philipphoffmann.de/blog/2012/08/16/how-to-discard-the-query-string-in-a-rewriterule-apache-mod_rewrite/>