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 :

Souci de redirection en http


Sujet :

Apache

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    mars 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : mars 2021
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Souci de redirection en http
    Bonjour !

    Après de nombreux essais de configuration infructueux, je me permets d'écrire sur ce forum, en espérant que quelqu'un puisse apporter une piste à mon souci.
    Sur mon serveur (VPS de chez OVH), j'ai mis en place deux sites, appelons-les site1.com et site2.com

    Dans mon navigateur je tente d'entrer les URL suivantes pour bien vérifier que toutes les redirections amènent bien vers le HTTPS avec WWW, à savoir https://www.site1.com et https://www.site2.com

    Pour Site1


    Pour Site2


    Deux problèmes majeurs se posent donc, les sites HTTPS sans WWW ne redirigent pas vers le WWW. Et le HTTP sans WWW de site2 redirige vers site1.


    Voici mes fichiers de conf apache

    site1.conf
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    <VirtualHost *:80>
    Redirect permanent / https://www.site1.com/
     
    ServerAdmin webmaster@localhost
    ServerName www.site1.com
    ServerAlias www.site1.com
    DocumentRoot /var/www/apps/site1
     
    <Directory /var/www/apps/site1>
    AllowOverride All
    RewriteEngine On
     
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
     
    RewriteCond %{REQUEST_FILENAME} -s [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]
    RewriteRule ^.*$ index.php [NC,L]
    </Directory>
    </VirtualHost>
     
    <VirtualHost *:443>
    ServerAdmin webmaster@localhost
    ServerName www.site1.com
    ServerAlias www.site1.com
    DocumentRoot /var/www/apps/site1
     
    <Directory /var/www/apps/site1>
    AllowOverride All
    RewriteEngine On
     
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteCond %{REQUEST_FILENAME} -s [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]
    RewriteRule ^.*$ index.php [NC,L]
    </Directory>
     
    SSLEngine On
    ***Conf générée par letsencrypt pour le SSL***
    </VirtualHost>
    site2.conf
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    <VirtualHost *:80>
    Redirect permanent / https://www.site2.com/
     
    ServerAdmin webmaster@localhost
    ServerName www.site2.com
    ServerAlias www.site2.com
    DocumentRoot /var/www/apps/site2
     
    <Directory /var/www/apps/site2>
    AllowOverride All
    RewriteEngine On
     
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
     
    RewriteCond %{REQUEST_FILENAME} -s [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]
    RewriteRule ^.*$ index.php [NC,L]
    </Directory>
    </VirtualHost>
     
    <VirtualHost *:443>
    ServerAdmin webmaster@localhost
    ServerName www.site2.com
    ServerAlias www.site2.com
    DocumentRoot /var/www/apps/site2
     
    <Directory /var/www/apps/site2>
    AllowOverride All
    RewriteEngine On
     
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteCond %{REQUEST_FILENAME} -s [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]
    RewriteRule ^.*$ index.php [NC,L]
    </Directory>
     
    SSLEngine On
    ***Conf générée par letsencrypt pour le SSL***
    </VirtualHost>
    Le fichier hosts
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    127.0.0.1   localhost
    ip.ip.ip.ip    vps333333.ovh.net       vps333333
    ip.ip.ip.ip    site1.com
    ip.ip.ip.ip    site2.com

    A noter que je n'ai rien dans mon .htaccess. J'ai testé pas mal de choses avec mais rien ne fonctionnait correctement.

    Un grand merci d'avance à ceux qui prendront le temps de réfléchir à mon problème. Si vous avez la moindre piste n'hésitez pas

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    juin 2003
    Messages
    8 107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 8 107
    Points : 12 623
    Points
    12 623
    Par défaut
    pour apache, les domaines "site.com" et "www.site.com" sont 2 domaines différents. donc la configuration que vous nous montrez s'occupe seulement des URL avec "www".

    vous pouvez ajouter les URL sans www dans ServerAlias
    https://httpd.apache.org/docs/2.4/fr...ml#serveralias

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    mars 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : mars 2021
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup pour cette réponse rapide !

    Donc j'ai bien modifié tous mes VirtualHost, pour les deux sites, pour les ports 80 et 443, sur le modèle suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ServerName site.com
    ServerAlias *.site.com
    Cela a en effet corrigé le problème étrange de redirection du site2 vers le site1.

    Par contre, les adresses en HTTPS sans WWW ne redirigent toujours pas vers les HTTPS avec WWW (les HTTP sans WWW sont bien redirigés cependant). Sauriez-vous d'où le problème peut venir ? Merci !

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    juin 2003
    Messages
    8 107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 8 107
    Points : 12 623
    Points
    12 623
    Par défaut
    Citation Envoyé par Phicron Voir le message
    Par contre, les adresses en HTTPS sans WWW ne redirigent toujours pas vers les HTTPS avec WWW (les HTTP sans WWW sont bien redirigés cependant).
    c'est parce rien dans la configuration ne s'occupe de ça.
    la redirection à partir de "http" se fait avec la ligne "Redirect permanent", d'ailleurs je pense que cette ligne est prioritaire sur les liges "RewriteRule" du port 80 donc vous pouvez simplifier la configuration du port 80 en retirant les lignes "RewriteRule" et "RewriteCond".

    pour la redirection de www.site.com vers site.com essayez cela dans la configuration du port 443 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteCond %{SERVER_ADDR} !^site1.com [NC]
    RewriteRule ^(.*)$ https://site1.com/$1 [L,R=301]

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    mars 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : mars 2021
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Je souhaitais l'inverse, du sans WWW vers le WWW. Donc j'ai ajouté cela dans le VirtualHost du port 443

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteCond %{HTTP_HOST} ^site1.com$
    RewriteRule ^(.*) https://www.site1.com/$1 [QSA,L,R=301]
    Tout fonctionne correctement maintenant ! Un immense merci pour m'avoir sorti de toutes ces heures de recherches vaines

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

Discussions similaires

  1. [c#]Redirection automatique http vers https
    Par Filippo dans le forum ASP.NET
    Réponses: 3
    Dernier message: 02/12/2009, 09h57
  2. Réponses: 12
    Dernier message: 23/04/2008, 17h46
  3. souci de redirection
    Par michka999 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 29/08/2006, 11h05
  4. Redirection page http en https
    Par krina dans le forum Serveurs (Apache, IIS,...)
    Réponses: 1
    Dernier message: 03/01/2006, 16h35
  5. [Sécurité] Rédirection pages Http en Https
    Par krina dans le forum Langage
    Réponses: 6
    Dernier message: 03/01/2006, 13h37

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