web-dev-qa-db-fra.com

Redirection d'un sous-domaine vers un site Web HTTPS

Je dois rediriger un sous-domaine de mon site Web vers un site Web HTTPS tiers. Notre site Web est hébergé sur GoDaddy et j'ai essayé le mécanisme de transfert de sous-domaines, mais cela n'a pas fonctionné. C'est alors que j'ai créé un sous-domaine séparé (qui a créé un dossier avec ce nom de sous-domaine) sur mon hébergement. J'ai ensuite placé un fichier HTML avec ce code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta HTTP-EQUIV="REFRESH" content="0; url=https://third-party-domain.com">
<title>Untitled Document</title>
</head>

<body>
</body>
</html>

Mais cela n'a pas fonctionné. J'ai ensuite essayé une redirection .htaccess en utilisant ceci:

Redirect 301 / https://third-party-domain.com

Mais cela n'a pas fonctionné non plus. Qu'est-ce que je fais mal?

1
hpb

Modifiez la balise open body de votre code HTML comme suit:

<body onload="window.location='https://third-party-domain.com';">

Ceci exécutera javascript pour définir l'URL utilisée par la fenêtre sur la nouvelle URL fournie. Cela ne fonctionnera pas si javascript est désactivé, vous voudrez peut-être inclure un lien vers la nouvelle URL. Selon le W3C, il est déconseillé d'utiliser meta refresh pour rediriger les utilisateurs, car il désoriente les utilisateurs.

Si vous avez PHP disponible sur votre hôte, remplacez simplement le fichier d'index du dossier dans lequel pointe votre sous-domaine par un fichier index.php contenant uniquement les éléments suivants:

 <? php 
 en-tête ('Location: https://third-party-domain.com', 301); 
?> 

Cela envoie un en-tête 301 au navigateur de l'utilisateur et les envoie de manière transparente à l'URL appropriée.

1
Justin Pearce