Il existe un site Web externe qui redirige tout son trafic vers les pages Web de notre site. Nous ne pouvons pas contrôler cette redirection et les URL de contenu sont mises en miroir de la manière suivante.
Lorsque les utilisateurs accèdent à:
www.externaldomain.com/1234
ils sont redirigés vers:
www.ourdomain.com/1234
ce qui peut parfois être une page inexistante et donc une erreur de 404 résulte. Comment puis-je redirect tout le trafic de externaldomain.com
vers la page d’accueil de ourdomain.com
afin de ne pas perdre d’utilisateurs potentiels?
Je sais que HTTP_REFERER
entre en jeu, mais j’ai du mal à le configurer pour qu’il fonctionne correctement.
Voir cette réponse
Vous devez utiliser modrewrite de apache:
RewriteEngine On
RewriteCond% {HTTP_REFERER}! ^ Mydomain.co.uk $ [N]
La question la plus importante à poser ici est de savoir si vous souhaitez redirect tout le trafic vers votre page d’accueil ou des pages spécifiques que vous avez mentionnées «parfois» inexistantes (404).
Redirection de tout le trafic référencé vers une page d’accueil à partir d’un domaine externe spécifique
Lorsque vous devez redirect tout le trafic d’un domaine spécifique (référent), vous pouvez effectuer les opérations suivantes:
RewriteEngine On RewriteCond %{HTTP_REFERER} ^http://externaldomain\.com/ [NC] RewriteRule ^(.*) /index.php [R=301,L]
Redirection du trafic d’erreur 404 uniquement vers une page d’accueil à partir d’un domaine spécifique
Si vous souhaitez redirect sur cette base, utilisez:
RewriteEngine On RewriteCond %{HTTP_REFERER} ^http://externaldomain\.com/ [NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*) /index.php [R=301,L]
En ce qui concerne les drapeaux Apache mentionnés ci-dessus:
[NC] = No case (or case insensitive) [L] = If the rule matches, no further rules will be processed. [R=301] = Apply a 301 redirect*
Vous pouvez trouver des informations plus détaillées sur les indicateurs Apache ici .
* Optimisation des moteurs de recherche pour ces règles
Pourquoi une redirection 301? – Une redirection 301 est une redirection permanente qui transmet plus de 90% + de jus de lien (ou puissance potentielle de classement ) à la page redirigée. 301 fait référence au code d’état HTTP pour ce type de redirection. Dans la plupart des cas, la redirection 301 est la meilleure méthode pour implémenter des redirections sur un site Web en termes de référencement. En termes d’avantages, il existe une mine d’informations sur la manière de tirer parti des différents types de redirection et de les gérer.