Bouts de Codes

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
Code source zippé: télécharger le zip
Impression: imprimer le code
  • Sociale bookmarking: Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Partage ce code sur Facebook
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute Redirection https vers http ou http vers https, redirection page sécurisée SSL/TLS
Votre avis: 
 
Ecrit par :  forty
Site de l'auteur voir
[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]
Nouveau message Invité
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 

Nouveau message Invité
le 24 Aout 2013 à 10:32:00

 Essayes ça pour les www ça les supprime normalement :

 


"RewriteCond %{HTTP_HOST} ^www.(.*)" sans les ""

Nouveau message Invité
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

Nouveau message forty
le 30 Déc 2014 à 22:37:00

Vous pouvez vous inspirer du code disponible ici : /scripts1-Apache.htm

Nouveau message Invité
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.

Nouveau message playngo
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 ?

Ajouter un commentaire

RSS
snippets


RSS
commentaires

 
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
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

  • Apache en action
  • Apache
  • Debian GNU/Linux - Services réseaux (Bind DNS, Apache, NFS, Samba, Messagerie...)
  • Apache 2.0 : Guide de l'administrateur Linux
  • Montez votre serveur de A à Z
  • LAMP (Linux, Apache, MySQL, PHP) - Coffret de 4 livres : Maîtrisez vos applications Web Open Source [Nouvelles versions]
  • PHP 5.2 et APACHE 2 - Maîtrisez le développement et le déploiement de votre site web interactif [Nouvelle version]
  • Précis & Concis : Apache
  • Apache : La Référence
  • Guide de référence : Apache 2 : Installation, configuration et administration sous Windows et Linux