Différences entre les versions de « Apache rewrite rules »

De BlaxWiki
Aller à la navigationAller à la recherche
 
Ligne 1 : Ligne 1 :
Doc pratique bien expliquée :
[https://{{SERVERNAME}}/BENPERSO/files/apache_la_reecriture_d_url.pdf Doc pratique bien expliquée]


Doc Apache : http://httpd.apache.org/docs/2.4/fr/rewrite/
Doc Apache : http://httpd.apache.org/docs/2.4/fr/rewrite/

Version actuelle datée du 26 septembre 2021 à 08:03

Doc pratique bien expliquée

Doc Apache : http://httpd.apache.org/docs/2.4/fr/rewrite/

Générateur de .htaccess (rewrite rule, auth, page 404... ) : http://cooletips.de/htaccess/

  • Toutes url commencant par mail. sera redirigé vers squirellmail
ServerName 212.43.196.63
DirectoryIndex index.php index.html
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mail.
RewriteRule ^/(.*)$ /var/www/squirrelmail/$1 [L]


  • Rediriger un domaine vers un autre (à mettre dans le vhost du domaine source)
#Ici on redirige mobile.ville-gennevilliers.fr vers www.ville-gennevilliers.fr
Rewriteengine on
RewriteCond %{HTTP_HOST} ^mobile.ville-gennevilliers.fr$ [NC]
RewriteRule ^(.*)$ http://www.ville-gennevilliers.fr/$1 [R=301,L]


ServerName extranet.grdf.fr
RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteRule $ https://www.grdf.fr/maintenance [R=302,L]


  • Redirection de http vers https (en gardant l url apres le fqdn)
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
ou
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]


  • Redirection d'une page (ancien domaine vers le nouveaud domaine):
RewriteEngine on
RewriteRule ^(.*)$ http://www.your-new-domain.com/$1 [R=301,L]
#If a user visits http://www.olddomain.com/articles.php he will be redirected to the same page on your-new-domain.com. The R=301 part make it a permanent redirect by sending a “301 Moved Permanently” 
#status code to the user’s browser. If the user happens to visits the same page on your old domain, the browser will automatically redirect to the new domain.


  • Redirect to www
RewriteEngine on
RewriteCond %{HTTP_HOST} mydomain.com [NC]
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L]
#So you only want users to visit www.mydomain.com and not domain.com.


  • Redirection suivant l ip
## Si l ip n est pas 10.132.2.1[0-9], on redirige le vhost en 2eme RewriteCond sur la page de maintenance
RewriteEngine On
RewriteCond %{REMOTE_HOST} !^10.132.2.1[0-9]$
#RewriteRule !maintenance.html$ maintenance.html [R=307,L]
RewriteCond %{HTTP_HOST} ^(preprodw.appelmedical.com)
RewriteRule "(.*)"  /var/www/atome_wordpress/multisite_grf/maintenance-appelmedical.html  [L]


##
- toutes les pages en français de la forme https://www.parisgeo.cnrs.fr/spip.php?rubrique6&lang=fr soient redirigées vers la nouvelle page d?accueil en français https://geographie-cites.cnrs.fr/
- toutes les pages en anglais de la forme https://www.parisgeo.cnrs.fr/spip.php?rubrique6&lang=en soient redirigées vers la nouvelle page d?accueil en anglais  https://geographie-cites.cnrs.fr/en/
##
RewriteEngine On
RewriteCond %{HTTP_HOST} parisgeo.cnrs.fr$ [NC]
RewriteCond %{QUERY_STRING} ^.*lang=fr.*$ [NC]
RewriteRule ^(.*)$ "https://geographie-cites.cnrs.fr/" [L,R=302]

RewriteCond %{HTTP_HOST} parisgeo.cnrs.fr$ [NC]
RewriteCond %{QUERY_STRING} ^.*lang=en.*$ [NC]
RewriteRule ^(.*)$ "https://geographie-cites.cnrs.fr/en/" [L,R=302