Redirection https vers http ou http vers https, redirection page sécurisée SSL/TLS
Information sur le code source
Enregistré le 09 Avril 2013 - Vu 26235 fois
| Votre avis: |
|
| |
[9] sources en Apache voir
|
Description du code source
Informations sur le code source
Il est parfois utile de pouvoir rediriger l'accès à des pages sécurisées vers la version non sécurisée. C'est utile pour éviter le duplicate content quand une même page est accessible via http et https. Pour les sites qui n'ont pas besoin d'être sécurisés il est même préférable de mettre en place la redirection https vers http (tout comme celle avec ou sans www déjà expliquée sur urlrewriting.fr). Il suffit d'un lien externe erroné pour qu'un robot de moteur de recherche indexe des pages qui ne devraient pas l'être. J'ai même eu le cas où cela générait des erreurs 500 et une surcharge du serveur à cause d'un bout de code qui n'avait pas prévu ce cas.
De même il est parfois utile de rediriger des pages internet vers une version sécurisée. C'est particulièrement utile pour protéger certaines données sensibles comme lors d'un paiement en ligne.
Pour détecter si la connexion est protégée par SSL/TLS nous pouvons utiliser la variable système HTTPS. Elle contient la chaine "on" ou "off". Une condition de réécriture permet de tester ces deux valeurs pour savoir dans quel cas nous nous trouvons.
Le premier bout de code permet de faire une redirection permanente pour un accès aux pages avec https. Le deuxième lui marche dans l'autre sens et redirige les pages non sécurisés vers celles sécurisés. Il faut bien évidement choisir l'une des deux et ne pas les mettre ensemble car la boucle infinie est garantie ;). Il est par contre possible d'ajouter une condition supplémentaire pour ne rediriger que certaines pages.
Code Source
.01
.02
.03
.04
.05
.06
.07
.08
.09
.10
.11
.12
.13
.14
.15
.16
.17
.18
.19
.20
.21
.22
.23
.24
.25
.26
.27
.28
.29
.30
|
|
################################################################################
# #
# __ _ __ _ #
# __ ______/ /______ _ ______(_) /_(_)__ ___ _ #
# / // / __/ / __/ -_) |/|/ / __/ / __/ / _ \/ _ `/ #
# \_,_/_/ /_/_/ \__/|__,__/_/ /_/\__/_/_//_/\_, / #
# /___/ #
# #
# #
################################################################################
# #
# Titre : Redirection https vers http ou http vers https,... #
# #
# URL : /scripts93-Apache.htm #
# Auteur : forty #
# Date édition : 09 Avril 2013 #
# Website auteur : http://urls.fr/ #
# #
################################################################################
RewriteEngine on
#redirection permanente https => http
RewriteCond %{HTTPS} ^on$ [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]
#redirection permanente http => https
RewriteCond %{HTTPS} ^off$ [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
|
Commentaires [6]
|
le 26 Juin 2013 à 21:48:00
|
très bien mais je n'arrive pas à combiner la redirection de https vers http et celle de www. vers sans les www
si il existe une solution merçi d'avance de votre aide
|
le 24 Aout 2013 à 10:32:00
|
Essayes ça pour les www ça les supprime normalement :
"RewriteCond %{HTTP_HOST} ^www.(.*)" sans les ""
|
le 30 Déc 2014 à 12:45:00
|
Bonjour,
Je cherche une règle pour rediriger
https://domaine.tld vers https://www.domaine.tld
Merci de votre aide.
Serge
|
le 30 Déc 2014 à 22:37:00
|
Vous pouvez vous inspirer du code disponible ici : /scripts1-Apache.htm
|
le 24 Mars 2016 à 23:24:00
|
Comment fait-on pour appeller ton programme. Mon site HTTPS n'existe plus, celui en HTTP lui il existe. Sauf que j'ai de la documentation électronique déjà expédiez qui contient le HTTPS, il faut que je les redirige vers le HTTP.
Claude.
|
le 05 Aout 2016 à 12:00:00
|
Je n'ai pas repayé pour le SSL, et maintenant j'ai une erreur sur les redirections. Que faire ?
Librairie
Langages de programmation
La librairie est ouverte à tous et elle est accès principalement sur les langages Snippets.
Vous trouverez aussi d'autres langages de programmation tel que le CSS, HTML, AJAX, ASP..
Plus de 300 références facilement accessibles. Visiter