J'ai un petit soucis :)
Je suis sous Red Hat 5 Entreprise et j'ai un serveur Apache 2.2 (2.2.3 exactement) qui tourne avec 3 virtualhosts.
Ces serveurs sont "name based" (ie. une seule @IP pour la machine et on différencie les serveurs en fonction du nom demandé).
J'ai donc une config placée dans /etc/httpd/conf.d/ pour ces hôtes qui ressemble à ça :
# Site en https (pour les tests)
ServerAdmin [...]
DocumentRoot [...]
DirectoryIndex index.php
ServerName test.pouet.fr
[...]
# Certificats
SSLEngine on
SSLCipherSuite ALL:!ADH:RC4+SHA:+HIGH:+MEDIUM:+LOW:+EXP:+eNULL
SSLProtocol all -SSLv2
SSLCertificateFile [...]
SSLCertificateKeyFile [...]
# Site en https (pour la prod)
ServerAdmin [...]
DocumentRoot [...]
DirectoryIndex index.php
ServerName www.pouet.fr
ServerAlias pouet.fr
[...]
# Certificats
SSLEngine on
#SSLCipherSuite HIGH:MEDIUM
SSLCipherSuite ALL:!ADH:RC4+SHA:+HIGH:+MEDIUM:+LOW:+EXP:+eNULL
SSLProtocol all -SSLv2
SSLCertificateFile [...]
SSLCertificateKeyFile [...]
# Site en http (autre site mais même client donc meme machine)
ServerAdmin [...]
DocumentRoot [...]
DirectoryIndex index.php
ServerName www.autre.site.fr
ServerAlias [...]
[...]
Je précise tout de suite que si l'on accède aux sites avec les bons protocoles (http ou https selon le site), tout marche parfaitement.
Le problème c'est que je patauge pour trouver une solution à mon problème :
* si l'utilisateur entre http://www.pouet.fr ou http://pouet.fr il faut rediriger vers https//www.pouet.fr
* si l'utilisateur entre http://test.pouet.fr il faut rediriger vers https://test.pouet.fr
J'ai tenté de faire des RewriteRule mais cela n'a pas l'air de marcher et surtout je ne sais pas trop où les poser : à l'intérieur d'une instruction ? (placée dans le fichier de conf des virtualhost ou en .htaccess, peut importe)
Si quelqu'un pouvait m'aider, ce serait fortement apprécié !!
Merci d'avance :)
# Comme ça ?
Posté par ondex2 . Évalué à -1.
ServerName www.pouet.com
Redirect / http://www.pouest.com/
</VirtualHost>
[^] # Re: Comme ça ?
Posté par Pierre Gaxatte . Évalué à 1.
De plus, par défaut http utilise le port 80, donc on ne devrait jamais tomber sur un virtualhost qui écoute en port 443, non ?
[^] # Re: Comme ça ?
Posté par NeoX . Évalué à 1.
dans ton cas
< virtualhost test.server.com:80>
[...]
Redirect / https://test.server.com/
< /virtualhost >
< virtualhost server.com:80>
[...]
ServerAlias www.server.com
Redirect / https://www.server.com/
< /virtualhost >
[^] # Re: Comme ça ?
Posté par Pierre Gaxatte . Évalué à 1.
J'essaye et je donne le résulat !
Merci
[^] # Re: Comme ça ?
Posté par Pierre Gaxatte . Évalué à 1.
J'ai ajouté ces deux VirtualHost :
<VirtualHost *:80>
ServerName pouet.fr
ServerAlias www.pouet.fr
Redirect / https://www.pouet.fr
</VirtualHost>
<VirtualHost *:80>
ServerName test.pouet.fr
Redirect / https://test.pouet.fr
</VirtualHost>
Merci tout plein !
Les solutions avaient l'air d'être nombreuses et je ne trouvais pas de solution simple.
[^] # Re: Comme ça ?
Posté par NeoX . Évalué à 1.
< virtualhost *:80> pour dire que tu regardes ce qui arrive sur le port 80
ServerName et ServerAlias pour dire que tu regardes sous quel nom la demande arrive...
et enfin le redirect qui dit ou tu renvoie les connections.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.