hello,
J'ai un souci de redirection avec Apache, que je n'arrive pas a résoudre.
Le but est que toute requete vers example.com soit redirigée vers www.example.com.
Le problème est que example.com est derrière un proxy, Apache étant situé sur serveur.com. Je n'ai accès que a la conf du serveur, pas a celle du proxy.
Actuellement, www.example.com et example.com sont tous les deux redirigés vers serveur.com (port 8300) en interne. J'aimerai donc pouvoir faire la différence entre les deux pour demander une redirection si besoin.
ma conf actuelle est:
nameVirtualHost *:8300
< VirtualHost *:8300 >
ServerName www.example.com
RewriteEngine on
RewriteCond {SERVER_NAME} !www\.example\.com$ [NC]
RewriteRule ^/(.*) http://www.example.com/$1 [L,R=301]
[...]
Le souci est que dans SERVER_NAME je n'ai que serveur.com, pas example.com. Je n'ai pas trouvé d'autres variables qui contiennent example.com, pas plus que je n'ai réussi a tricher de façon différente (je pensais a SetEnvIf, puis comparer a cette variable ).
Quelqu'un aurait-il une idée géniale?
Merci pour toute piste
> Lire le message (9 commentaires, moyenne: 2,3).
Vous avez demandé le commentaire #922965.



Si je ne m'abuse ...
Quel reverse proxy utilises tu ?
J'ai récemment eu des petits soucis avec Apache en reverse proxy...
mod_proxy fonctionne en HTTP/1.0 de base, donc pas de header host: dans la requête, donc fonctionnement bête et méchant de HTTP/1.0 sans notion de vhost possible.
Il faut, au niveau du reverse proxy, forcer l'utilisation du HTTP/1.1 et son header host: à coup de:
ProxyPreserveHost onEnsuite, en temps normal, pour transformer du truc.com en www.truc.com, il y pas besoin de se casser la tête, cf la directive UseCanonicalName: http://httpd.apache.org/docs/2.0/mod/core.html#usecanonicaln(...)
[^]Re: Si je ne m'abuse ...
Je n'ai pas acces au proxy... Je ne sais pas trop ce qui est utilise.
Pour le coup du UseCanonicalName, j'avais bien remarque cette directive, mais ca ne semble pas aider. Elle est a 'on' par defaut, je l'ai passe a 'off' par acquis de conscience, mais rien ne change...
[^]Re: Si je ne m'abuse ...
Très franchement, en lisant ça:
Le souci est que dans SERVER_NAME je n'ai que serveur.com
Ca me fait très clairement penser au proxy qui renvoit pas le nom de serveur... donc ton problème n'a pas trop trop de solution sans en savoir plus sur ce fameux proxy.
Sinon, il faudrait que ta directive UseCanonicalName soit à On pour forcer l'utilisation du nom spécifié via la directive ServerName.