从所有子页面重定向到主页?

时间:2012-01-13 04:35:40

标签: php .htaccess

我正在寻找一种方法来重定向所有登陆www.domain.com/randompost-or-page以重定向到主页。

我看到人们列出了将其用于新外部网站的方法,但是我没有一个全新的网站,但是很多来自谷歌的访问者都在随机页面上登陆,这对他们来说更有利登陆主页。

(以这个速度,是否有可能有一个页面不会重定向?例如重定向所有页面/帖子除了www.domain.com/noredirect?)

1 个答案:

答案 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中更轻松地完成。)