2014-07-06 5 views
-1

J'ai actuellement un site Web qui permet aux utilisateurs de créer des profils et d'ajouter leurs propres domaines personnalisés, masquant efficacement leurs domaines.Désactiver l'accès via HTTPS

Nous venons d'activer le protocole HTTPS sur mon domaine principal et maintenant quand j'accéder à leurs domaines complets (theirdomain.com) via HTTPS, il dit: The identity of this website has not been verified. Server's certificate does not match the URL.

Lors de la vérification pour voir si HTTPS est en $_SERVER['HTTPS'] il ne montre pas que HTTP est activé, ce qui est correct car HTTPS ne fonctionne pas - bien que l'URL ait été accessible via HTTPS.

Est-il possible de simplement rediriger toutes les requêtes HTTPS à HTTP pour tous les domaines, mais mon (maindomain.com)

Soit via PHP ou HTACCESS, ou par Apache?

+1

_ « qui est correct parce que HTTPS ne fonctionne pas - même si l'URL a été consultée via HTTPS "_ - ces deux déclarations s'excluent mutuellement. Soit vous avez accédé à quelque chose via HTTPS, ce qui signifierait qu'il fonctionne - ou vous ne l'avez pas fait; les deux en même temps est un non-sens. Et vous ne pouvez bien sûr pas rediriger une requête si elle n'atteint même pas votre serveur parce que le client l'interrompt à moitié car le certificat ne correspond pas au nom de l'hôte. – CBroe

Répondre

1

Est-il possible de simplement rediriger toutes les requêtes HTTPS à HTTP pour tous les domaines, mais mon

Essayez d'ajouter ceci au fichier .htaccess dans votre document Web dossier racine (souvent public_html ou htdocs):

RewriteEngine On 
%{HTTPS} on 
%{HTTP_HOST} !^(?:www\.)?maindomain\.com 
RewriteRule^http://%{HTTP_HOST}%{REQUEST_URI} [R=302,L,NE] 

Une fois que vous êtes convaincu que la redirection fonctionne, vous pouvez modifier le 302 à 301 pour le rendre permanent. Cela suppose que mod_rewrite est et que est installé et est activé pour les fichiers htaccess. Si vous n'êtes pas sûr, pour vérifier si mod_rewrite est installé, regardez la liste des modules installés dans la sortie de phpinfo(); Par défaut, mod_rewrite n'est pas activé pour les fichiers htaccess. Si vous gérez votre propre serveur, ouvert httpd.conf et assurez-vous que le bloc de répertoire Webroot contient une de ces lignes: AllowOverride FileInfo ou AllowOverride All

+0

@Cbroe, vos points sont bien pris, mais avez-vous downvote cela? C'est une réponse précise à 'Est-il possible de simplement rediriger toutes les demandes HTTPS vers HTTP pour chaque domaine, sauf le mien? – zx81

+0

Il mérite certainement un +1 pour répondre précisément au problème d'OP. – anubhava

+0

Merci, @anubhava :) – zx81