.htaccess de redirection https en http ne fonctionne pas
Je suis en train d'essayer de rattraper tout le trafic https à l'avant de mon site donc:
https://www.domain.com
est redirigé vers:
http://www.domain.com
Toutefois, d'autres sous-domaines doivent être redirigés ailleurs. Pour la plupart, c'est tout ce travail, en dehors de l'https -> redirection http. Voici mon .fichier htaccess pour le moment:
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}
RewriteCond %{HTTP_HOST} ^domain\.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
RewriteCond "%{HTTP_HOST}" !^www.* [NC]
RewriteCond "%{HTTP_HOST}" ^([^\.]+).*$
RewriteRule ^(.*)$ https://secure.domain.com/a/login/%1 [L,R=301]
Il semblerait que ce bit:
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}
ne fonctionne pas comme je l'imagine. En fait, il ne semble pas rediriger à tous.
Dans un autre sous-répertoire, j'ai le contraire, en effet, qui fonctionne très bien:
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
si ma pensée est l'inverse devrait avoir fait le travail, mais apparemment pas.
Toutes les pensées de n'importe qui?
MODIFIER
Je pense que cela pourrait avoir quelque chose à voir avec le fait que sur le serveur il y a un certificat ssl qui les FAI à fournir un générique https adresse de votre site. Par exemple, si vous avez un site à:
Vous pouvez accéder au même contenu/compte d'hébergement sur https à l'aide de:
https://server100.securedomain.com/yourdomain.com
Serait-ce que parce que quand je tape en https dans le navigateur, je suis servi le générique cert et parce qu'il ne correspond pas au nom de domaine que j'ai saisi, je reçois un avertissement de sécurité concernant un non approuvés cert qui est l'arrêt de la redirection?
EDIT 2
En regardant le serveur têtes, je pense que je suis correct avec mon hypothèse ci-dessus. Le serveur est de retour:
The host name in the certificate is invalid or does not match
Serait-ce que, arrêter la redirection?
OriginalL'auteur Ira Rainey | 2010-06-05
Vous devez vous connecter pour publier un commentaire.
Viens de réaliser que je n'ai jamais fermé, pour le bénéfice de quelqu'un d'autre qui tente de résoudre cela, je vais maintenant.
En bref, l'attraper tous https -> http de redirection que je cherche à réaliser ne fonctionnera pas parce que le serveur est de servir le cert première qui est ensuite générer l'avertissement de sécurité. Ce qui se passe avant la redirection, pour d'évidentes raisons de sécurité, d'où la redirection ne fonctionne pas un que je voulais.
Espère que ça aide quelqu'un d'autre.
RewriteCond %{HTTP_HOST} xyz\.co.uk$ [NC]
<br/>RewriteCond %{HTTPS} on
<br/>RewriteRule ^([^/]+)?$ http://%{HTTP_HOST}/$1 [R=301,L]
<br/>Donc, il n'y a aucun moyen d'éviter l'écran d'avertissement? Ce n'est pas possible de forcer http toujours pour toutes les pages et éviter la page d'avertissement?
OriginalL'auteur Ira Rainey
Si "il ne semble pas rediriger à tous" ma conjecture est que
échoue pour une raison quelconque. J'ai vu cela dans un exemple:
Vous devrez peut-être les deux?
OriginalL'auteur Artelius
Je sais que ce un vieux thread mais je viens de trouver la réponse, il peut aider quelqu'un dans le futur:
assurez-vous que le virtuel fichier hosts du serveur ssl a:
c'est probablement dans votre serveur par défaut de l'hôte virtuel fichier qui est pourquoi vous pouvez faire à partir de l'adresse http
.htaccess
fichier. Il n'a pas de HTTPS/SSL logique-et-de-soi.OriginalL'auteur bts