Redirection vers proxy : RewriteCond

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

aour
Nouveau WRInaute
 
Messages: 16
Inscription: Mar Oct 25, 2005 19:36

Redirection vers proxy : RewriteCond

Message le Jeu Mar 09, 2006 0:18

Bonjour,

Mon hébergeur me propose un ssl mutualisé.
Pour mon domaine : chezmoi.tld je passe part https: / /ssl.monhebergeur.tld/chezmoi.tld

Je voudrais rediriger toutes les requetes à mon domaine vers le ssl.

Le souci, c'est que le serveur renvoie pour les pages en ssl les mêmes infos que la page en http :

SERVER_NAME chezmoi.tld
SERVER_PORT 80

Je ne peux donc tester aucun des parametres par defaut de RewriteCond.

J'essaye de tester la seule chose qui change : HTTP_X_FORWARDED_HOST et HTTP_X_FORWARDED_SERVER qui est égale à ssl.monhebergeur.tld lorsque je suis en ssl uniquement

Je veux comme condition que si HTTP_X_FORWARDED_HOST est différent de ssl.monhebergeur.tld je redirige vers le ssl.

Code: Tout sélectionner
RewriteEngine on
RewriteCond %{ENV:HTTP_X_FORWARDED_HOST} !^ssl.monhebergeur.tld
RewriteRule . https://ssl.monhebergeur.tld/chezmoi.tld


Le souci c'est que je boucle que j'appelle mon domaine ou le ssl en direct.

Merci

Aour


correiaj
WRInaute accro
WRInaute accro
 
Messages: 1106
Inscription: Lun Avr 25, 2005 22:39

Message le Jeu Mar 09, 2006 12:31

Ben il suffit de lire un peu la doc apache sur le mod_rewrite mon chère :-)

RewriteCond %{HTTPS} (soit on soit off)

Salut

En plus le SSL/TLS ne devrait pas passer sur le port 80, mais 443

aour
Nouveau WRInaute
 
Messages: 16
Inscription: Mar Oct 25, 2005 19:36

Message le Jeu Mar 09, 2006 14:08

Bonjour,

Je peux te dire que j'ai lu la doc à fond et même les post ici qui parlent du renvoie sur https.

Le souci comme je l'explique c'est que justement le serveur ne renvoie pas le port 443. Pour infos, Un proxy peut être paramêtré pour renvoyer une page ssl sur le port 80.

Voici les variables retournées par la page en SSL:

Code: Tout sélectionner
HTTP_X_FORWARDED_BY    SSL Proxy
HTTP_X_FORWARDED_FOR    ##.###.###.###
HTTP_X_FORWARDED_HOST    ssl.monhebergeur.tld
HTTP_X_FORWARDED_SERVER ssl.monhebergeur.tld

SERVER_NAME    chezmoi.tld
SERVER_PORT    80


la page en http ne renvoie pas les 4 premières lignes mais juste :

Code: Tout sélectionner
SERVER_NAME    chezmoi.tld
SERVER_PORT    80


Vu que le htaccess se sert de ces variables, le test sur https ne fonctionne pas pour différencier une page https d'une http.
Je voudrais en fait faire le test sur HTTP_X_FORWARDED_HOST avec la condition si HTTP_X_FORWARDED_HOST différent de ssl.monhebergeur.tld alors je redirige.

Merci correiaj

Aour


correiaj
WRInaute accro
WRInaute accro
 
Messages: 1106
Inscription: Lun Avr 25, 2005 22:39

Message le Ven Mar 10, 2006 0:41

Alors ta seule solution reste le HTTP_HOST:

RewriteCond %{HTTP_HOST} ^https://.*$

car le proxy ok, il peut fonctionner sur le port 80, mais le browser lui nécesite le bon protocole, donc un https...

aour
Nouveau WRInaute
 
Messages: 16
Inscription: Mar Oct 25, 2005 19:36

Message le Ven Mar 10, 2006 10:27

Bonjour,

Merci correiaj de partager ma galère.

J'ai testé avec HTTP_HOST

RewriteCond %{HTTP_HOST} ^https://.*$ ---> ne marche pas
RewriteCond %{HTTP_HOST} ^https://mondomaine.*$ ---> ne marche pas
RewriteCond %{HTTP_HOST} ^mondomaine.*$ ---> redirige mais en boucle car la chaine mondomaine se trouve dans le site https et http.

HTTP_HOST ne renvoie pas la chaine complète mais il renvoie uniquement l'url sans le protocole.

Et mon souci c'est que HTTP_HOST de l'adresse https: / /ssl.monhebergeur.tld/chezmoi.tld ne renvoi pas ssl.monhebergeur.tld/chezmoi.tld mais chezmoi.tld :evil:

Aour

aour
Nouveau WRInaute
 
Messages: 16
Inscription: Mar Oct 25, 2005 19:36

Message le Ven Mar 10, 2006 12:09

Re

Bon, j'ai fait un test sur RewriteCond %{REMOTE_ADDR} car j'ai l'adresse IP du proxy de renseigné au lieu de la mienne.

Cela donne :

Code: Tout sélectionner
RewriteEngine on
RewriteCond %{REMOTE_ADDR} !^111\.222\.[0-9]+\.[0-9]+
RewriteRule ^(.*)$ https: / /ssl.monhebergeur.tld/chezmoi.tld/$1 [R]


en esperant que l'adresse du proxy change pas et que le client qui vient visiter la page ne osit pas dans le même plan d'adressage que le proxy.

Merci

Aour


correiaj
WRInaute accro
WRInaute accro
 
Messages: 1106
Inscription: Lun Avr 25, 2005 22:39

Message le Ven Mar 10, 2006 13:42

Oui exacte, en fait la variable qui retourne le protocole est HTTP_REFERER, mais parle du référant, et pas de la page en question...
Sinon, il te faut faire un code en php pour ces pages, ou bien régler ce problème de port...


Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

  • Tester la validité d'un lien
    Cet outil vous permet de tester la validité d'un lien pour le référencement. Il vous indique la nature du lien (lien en dur, redirection bien gérée par les moteurs ou redirection mal gérée par les moteurs).


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités