!
Наиболее важный вопрос, который задают здесь, заключается в том, хотите ли вы перенаправить весь трафик на свою домашнюю страницу или на определенные страницы, которые вы упомянули «иногда» не существует (404) - оба из которых отвечают здесь.
Перенаправление все называют трафик на домашнюю страницу из определенного внешнего домена
Где вам нужно перенаправить весь трафик с определенного домена (реферер), вы можете сделать следующее:
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://externaldomain\.com/ [NC]
RewriteRule ^(.*) /index.php [R=301,L]
Переадресация только 404 трафика ошибок на главную страницу из определенного домена
Если вы хотите перенаправить на этой основе затем использовать:
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://externaldomain\.com/ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /index.php [R=301,L]
Что касается Апач флагов, отмеченных выше:
[NC] = No case (or case insensitive)
[L] = If the rule matches, no further rules will be processed.
[R=301] = Apply a 301 redirect*
Вы можете найти более подробную/подробную информацию о Apache флагов here.
* Поисковая оптимизация для этих правил
Почему 301 перенаправление? - 301 перенаправление - это постоянная переадресация, которая передает более 90%% сока связи (или потенциал рейтинг мощности) на перенаправленную страницу. 301 относится к коду состояния HTTP для этого типа перенаправления. В большинстве случаев перенаправление 301 является лучшим методом реализации перенаправления на веб-сайте с точки зрения SEO.С точки зрения преимуществ, существует множество информации here о том, как использовать преимущества разных типов переадресации и обрабатывать их.
Возможно, вам будет лучше задавать вопросы по http://webmasters.stackexchange.com/ –
Вы пытаетесь перенаправить страницы, которые приводят только к 404 или всем упомянутым страницам? – nickhar