Rediriger tout le trafic du domaine externe vers la page d’accueil du domaine local?

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.