我正在寻找一种方法来重定向所有登陆www.domain.com/randompost-or-page以重定向到主页。
我看到人们列出了将其用于新外部网站的方法,但是我没有一个全新的网站,但是很多来自谷歌的访问者都在随机页面上登陆,这对他们来说更有利登陆主页。
(以这个速度,是否有可能有一个页面不会重定向?例如重定向所有页面/帖子除了www.domain.com/noredirect?)
答案 0 :(得分:2)
你可以用一些RewriteRule
来做到这一点。但它不能可靠地工作,因为您必须探测Referer:
标头,这在所有浏览器的所有请求中都不存在。
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !yourdomain.com
RewriteRule ^.+$ / [R]
前两个条件检查是否存在引用,以及它是否不是来自本地站点的重定向。该规则将任何内容重定向到主页。
您可以通过在RewriteRule前面添加以下内容来添加更多例外:
RewriteCond %{REQUEST_URI} !^/noredirect$
另请参阅Serverfault以获取更多提示:Everything You Ever Wanted to Know about Mod_Rewrite Rules but Were Afraid to Ask?
(但实际上,如果所有请求都转到公共处理程序脚本,所有这些都可以在PHP中更轻松地完成。)