web-dev-qa-db-fra.com

Comment rediriger toutes les URL contenant mon nom de domaine dans le chemin de .htaccess pour éviter les erreurs d'analyse

Je reçois beaucoup d'erreurs dans les Outils pour les webmasters et, en gros, beaucoup de liens se terminent comme ceci: example.com/links.php

Comment puis-je rediriger ces liens, pour réduire cette partie à la fin? Par exemple, il existe un lien dans Google:

http://www.example.com/article-marketing/www.example.com/links.php

Cela devrait être:

http://www.example.com/article-marketing/

Avec .htaccess, comment puis-je rediriger à partir de liens incorrects?

2
user71698

Il y a de fortes chances que votre site Web contienne de nombreuses erreurs HTML et que de telles erreurs apparaissent. Vous devez les réparer et non leur appliquer un pansement. Explorez votre site avec un outil tel que Sleuth de Xenu's Link et cherchez où se trouvent ces mauvais liens et corrigez-les. Cela résoudra votre problème avec Google et permettra à vos utilisateurs de trouver réellement votre contenu, car ils ont probablement une mauvaise expérience utilisateur en ce moment.

3
John Conde

Comme le suggère John Conde, vous devez corriger le lien à l'origine de ces erreurs. C'est probablement un lien brisé vers links.php qui ressemble à quelque chose comme:

<a href="www.example.com/links.php">

qui manque le http:// et devrait être

<a href="http://www.example.com/links.php">

ou si vous souhaitez utiliser un lien relatif:

<a href="/links.php">

Cependant, vous voulez aussi faire la redirection. La directive RedirectMatch de mod_alias peut vous aider. Voici comment vous enlevez tout à la fin:

RedirectMatch ^(.*)/www.example.com/.*$ http://www.example.com$1 

Alternativement, comme le lien rompu pointe probablement sur la page de liens, vous voudrez peut-être tout enlever au début pour que les liens rompus fonctionnent mieux pour les visiteurs:

RedirectMatch ^.*/www.example.com(/.*)$ http://www.example.com$1 
1
Stephen Ostermiller