这里要问的最重要的问题是,您是否希望将所有流量重定向到您的主页或您提到的“有时”不存在的特定页面(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]
关于上面提到的 apache 标志:
[NC] = No case (or case insensitive)
[L] = If the rule matches, no further rules will be processed.
[R=301] = Apply a 301 redirect*
您可以在此处找到有关 Apache 标志的更多详细/详细信息。
*这些规则的搜索引擎优化
为什么要进行 301 重定向?- 301 重定向是一种永久重定向,它将超过 90% 以上的链接汁(或潜在排名能力)传递到重定向页面。301 是指此类重定向的 HTTP 状态代码。在大多数情况下,就 SEO 而言,301 重定向是在网站上实现重定向的最佳方法。就利益而言,这里有大量关于如何利用和处理不同类型重定向的信息。