IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Redirection HTTP -> HTTPS pour une seule page


Sujet :

Apache

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 26
    Points : 13
    Points
    13
    Par défaut Redirection HTTP -> HTTPS pour une seule page
    mon problème:

    je voulais faire une redirection https seulement pour la page connexion_sal_ce.php car c'est ma page d'authentification. Le reste du site sera en http normal.

    mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    RewriteCond %{SERVER_PORT} ^443$
    RewriteCond %{REQUEST_URI} !^/connexion_sal_ce(.*)
    RewriteRule ^(.*)$ http://mon_site/$1 [R=301,L]
    RewriteCond %{SERVER_PORT} !^443$
    RewriteCond %{REQUEST_URI} ^/connexion_sal_ce(.*)
    RewriteRule . https://%{HTTP_HOST}%{REQUEST_URI}
    l'éxécution actuelle a comme résultat:

    lorsque je me connecte à connexion_sal_ce.php la redirection https se fait mais elle persiste pour le reste de site.
    Merci pour vos aides

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Plutôt étrange, la conf semble correcte. Je dirais que c'est parce que le port HTTP n'est pas 443 pour le SSL. Utilise plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteCond %{HTTPS} on
    (ou off) à la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteCond %{SERVER_PORT} ^443$
    (ou !^443$).

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 26
    Points : 13
    Points
    13
    Par défaut
    Merci pour votre réponse mais le problème n'est pas résolu

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Vide aussi le cache du navigateur : tu fais des redirections permanentes qui sont gardées en mémoire.

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 26
    Points : 13
    Points
    13
    Par défaut
    donc, j'explique bien mon problème
    l'exécution actuelle :
    je navigue dans mon site en http, et lorsque je m'identifie; cette page connexion_sal_ce.php se redirige en https(jusqu'à maintenant ça va )
    mais le problème c'est que dés cette redirection ,le https devient pour tou le site même aprés déconnexion
    j'espère que c'est clair

  6. #6
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 26
    Points : 13
    Points
    13
    Par défaut
    non,c'est pas un problème du cache car je le vide aprés chaque exécution

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 26
    Points : 13
    Points
    13
    Par défaut
    mon code est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine on
    RewriteCond %{HTTPS} on
    RewriteCond %{REQUEST_URI} !^/connexion_sal_ce(.*)
    RewriteRule ^(.*)$ http://mon_site/$1 [R=301,L]
    RewriteCond %{HTTPS} !=on
    RewriteCond %{REQUEST_URI} ^/connexion_sal_ce(.*)
    RewriteRule . https://%{HTTP_HOST}%{REQUEST_URI}
    </IfModule>

  8. #8
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Super étrange. Comme je n'ai pas de serveur Apache avec SSL sous la main, pas facile de tester. Tu as essayé avec ceci, histoire d'être simple et cohérent partout dans l'écriture :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine on
    RewriteCond %{HTTPS} =on
    RewriteCond %{REQUEST_URI} !^/connexion_sal_ce
    RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    RewriteCond %{HTTPS} =off
    RewriteCond %{REQUEST_URI} ^/connexion_sal_ce
    RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    </IfModule>
    en vidant le cache du navigateur, bien entendu.

    EDIT : je viens de tester sur un serveur et cette conf marche super.

  9. #9
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 26
    Points : 13
    Points
    13
    Par défaut

    non ce code ne résoud pas le problème,
    je m'excuse quelle est la signification de (.*) dans cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteCond %{REQUEST_URI} !^/connexion_sal_ce(.*)
    de mon code
    Merci

  10. #10
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Littéralement, .* signifie "n'importe quoi, donc replacé dans le contexte de l'expression complète il signifie "tout ce qui suit 'connexion_sal_ce'".

    Essaie de mettre -MultiViews dans les options :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Options +FollowSymlinks -MultiViews

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 61
    Points : 38
    Points
    38
    Par défaut
    Bonjour, j'ai le même souci mais dans un autres sens, je veux passer de https au http, j'ai déjà trouvé le RewriteEngin On mais je n'arrive pas à savoir dans quel fichier de config ou autre je dois mettre ce code. Merci d'avance.

  12. #12
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Le fichier .htaccess se trouvant à la racine du site.

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 61
    Points : 38
    Points
    38
    Par défaut
    Merci.

  14. #14
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 26
    Points : 13
    Points
    13
    Par défaut
    Merci les amis ,c'est résolu
    ma faute était l'emplacement incorrecte du fichier .htaccess
    mais svp comment modifier ce code pour l'exécuter pour plusieurs pages d'authentification?
    Merci

  15. #15
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Le plus simple c'est de faire un copier-coller des lignes et de changer l'URL de la page de login.

  16. #16
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 26
    Points : 13
    Points
    13
    Par défaut
    ça marche pas avec du copier-coller;
    mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine on
    RewriteCond %{HTTPS} =on
     
    RewriteCond %{REQUEST_URI} !^/Module/connexion_1
    RewriteCond %{REQUEST_URI} !^/Module/connexion_2
    RewriteCond %{REQUEST_URI} !^/Module/connexion_3
    RewriteCond %{REQUEST_URI} !^/Module/connexion_4
    RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R=301]
    RewriteCond %{HTTPS} =off
    RewriteCond %{REQUEST_URI} ^/Module/connexion_1
    RewriteCond %{REQUEST_URI} ^/Module/connexion_2
    RewriteCond %{REQUEST_URI} ^/Module/connexion_3
    RewriteCond %{REQUEST_URI} ^/Module/connexion_4
    RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301]
    </IfModule>

  17. #17
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 26
    Points : 13
    Points
    13
    Par défaut
    ça marche seulemnt pou la première page de connexion??

  18. #18
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Je voulais dire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine on
     
    # SSL pour /Module/connexion_1
    RewriteCond %{HTTPS} =on
    RewriteCond %{REQUEST_URI} !^/Module/connexion_1
    RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    RewriteCond %{HTTPS} =off
    RewriteCond %{REQUEST_URI} ^/Module/connexion_1
    RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
     
    # SSL pour /Module/connexion_2
    RewriteCond %{HTTPS} =on
    RewriteCond %{REQUEST_URI} !^/Module/connexion_2
    RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    RewriteCond %{HTTPS} =off
    RewriteCond %{REQUEST_URI} ^/Module/connexion_2
    RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
     
    ...
    </IfModule>
    mais effectivement, il y a une zouille sur le retour au HTTP, donc plutôt un mélange de nos idées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine on
     
    # Passage au HTTP
    RewriteCond %{HTTPS} =on
    RewriteCond %{REQUEST_URI} !^/Module/connexion_1
    RewriteCond %{REQUEST_URI} !^/Module/connexion_2
    RewriteCond %{REQUEST_URI} !^/Module/connexion_3
    RewriteCond %{REQUEST_URI} !^/Module/connexion_4
    RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
     
    # Passage au HTTPS
    RewriteCond %{HTTPS} =off
    RewriteCond %{REQUEST_URI} ^/Module/connexion_1
    RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    RewriteCond %{HTTPS} =off
    RewriteCond %{REQUEST_URI} ^/Module/connexion_2
    RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    RewriteCond %{HTTPS} =off
    RewriteCond %{REQUEST_URI} ^/Module/connexion_3
    RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    RewriteCond %{HTTPS} =off
    RewriteCond %{REQUEST_URI} ^/Module/connexion_4
    RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    </IfModule>

  19. #19
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 26
    Points : 13
    Points
    13
    Par défaut
    un grand merci pour vous Mac
    c'est résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Redirection en HTTPS pour une seule page uniquement
    Par Sebphilou68 dans le forum Apache
    Réponses: 9
    Dernier message: 10/09/2012, 21h30
  2. [XL-2007] changer les filtres des TCD pour une seule page
    Par yeahna dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/03/2012, 11h59
  3. Réponses: 1
    Dernier message: 22/09/2008, 12h18
  4. Variable Globale pour une seul page
    Par rad_hass dans le forum ASP.NET
    Réponses: 4
    Dernier message: 19/02/2008, 22h01
  5. plusieurs formulaires pour une seule page ?
    Par lifecraft dans le forum ASP
    Réponses: 9
    Dernier message: 01/02/2006, 09h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo