!
La question la plus importante à poser ici est de savoir si vous souhaitez rediriger tout le trafic vers votre page d'accueil ou des pages spécifiques que vous avez mentionnées 'parfois' n'existe pas (404) - les deux qui sont répondus ici.
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://externaldomain\.com/ [NC]
RewriteRule ^(.*) /index.php [R=301,L]
:
Réorientation tout, vous pouvez faire ce qui suit visé le trafic vers une page d'accueil d'un domaine externe spécifique
Si vous avez besoin de rediriger tout le trafic d'un domaine spécifique (referrer)
Réorientation seulement 404 trafic d'erreur à une page d'accueil d'un domaine spécifique
Si vous souhaitez rediriger sur cette base puis 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 indiqué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 plus d'informations verbose/détaillées sur les drapeaux Apache here.
* Optimisation des moteurs de recherche de ces règles
Pourquoi une redirection 301? - Une redirection 301 est une redirection permanente qui passe plus de 90 +% de jus de lien (ou potentiel puissance 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 de bénéfice, il existe une mine d'informations sur comment capitaliser et traiter avec différents types de redirection.
Vous pourriez être une meilleure question pour http://webmasters.stackexchange.com/ –
Etes-vous en train d'essayer de rediriger les pages qui ne donnent que 404 ou toutes les pages référées? – nickhar