htaccess随机重定向到随机网址

时间:2016-02-27 09:32:37

标签: .htaccess

以某种方式可以在htaccess中随机重定向吗? (不需要php) 类似的东西:

rand_pool() = ['a.php', 'b.php', 'c.php'] 
RewriteRule ^page.php$ /rand_pool() [R=301,L]

2 个答案:

答案 0 :(得分:0)

不,这是不可能的,至少没有任何效率。有人可能会滥用mod_unique_id来生成唯一ID,然后将此ID减少到新页面,但这最多是狡猾的。

而是在内部重写到路由器页面,然后在此页面上执行必要的重定向。在维护代码时,使用它可以更清楚地实现目标。

答案 1 :(得分:0)

您可以使用RewriteMap指令。

首先,您需要生成一个地图文件:

## random.map -- rewriting map
randomX   a.php|b.php|c.php

您可以根据需要生成任意数量的值(由|分隔),但我不知道apache中是否有任何关于其计数的限制。

然后使用此文件定义 Randomized Plain Text 类型的重写映射,最后在重写规则中使用它。

RewriteMap randomMap rnd:/path/to/random.map
RewriteRule ^page\.php$ /${randomMap:randomX} [P,L]