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

De BlaxWiki
Aller à la navigationAller à la recherche
(Page créée avec « Doc Apache : http://httpd.apache.org/docs/1.3/misc/rewriteguide.html Générateur de .htaccess (rewrite rule, auth, page 404... ) : http://cooletips.de/htaccess/ * Redirec... »)
 
 
(12 versions intermédiaires par 3 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
Doc Apache : http://httpd.apache.org/docs/1.3/misc/rewriteguide.html
[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/


Générateur de .htaccess (rewrite rule, auth, page 404... ) : http://cooletips.de/htaccess/
Générateur de .htaccess (rewrite rule, auth, page 404... ) : http://cooletips.de/htaccess/
* Toutes url commencant par mail. sera redirigé vers squirellmail
<pre>
ServerName 212.43.196.63
DirectoryIndex index.php index.html
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mail.
RewriteRule ^/(.*)$ /var/www/squirrelmail/$1 [L]
</pre>
* Rediriger un domaine vers un autre (à mettre dans le vhost du domaine source)
<pre>
#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]
</pre>
* Redirige l url extranet.grdf.fr/nimportequoi vers https://www.grdf.fr/maintenance
<pre>
ServerName extranet.grdf.fr
RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteRule $ https://www.grdf.fr/maintenance [R=302,L]
</pre>
* Redirection de http vers https (en gardant l url apres le fqdn)
<pre>
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
ou
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</pre>




* Redirection d'une page (ancien domaine vers le nouveaud domaine):
* Redirection d'une page (ancien domaine vers le nouveaud domaine):
<pre>
<pre>
RewriteEngine on
RewriteEngine on
RewriteRule ^(.*)$ http://www.your-new-domain.com/$1 [R=301,L]
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.
</pre>
</pre>
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
* Redirect to www
So you only want users to visit www.mydomain.com and not domain.com.
<pre>
<pre>
RewriteEngine on
RewriteEngine on
RewriteCond %{HTTP_HOST} mydomain.com [NC]
RewriteCond %{HTTP_HOST} mydomain.com [NC]
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L]
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L]
#So you only want users to visit www.mydomain.com and not domain.com.
</pre>
* Redirection suivant l ip
<pre>
## 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]
</pre>
<pre>
##
- 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
</pre>
</pre>


[[Catégorie:Software]]
[[Catégorie:Software]]

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