是否可以在服务器端包含随机性?

时间:2009-09-02 06:07:35

标签: random server-side-includes

我想在一个静态的html文件中引入一些随机*行为。我想尝试两种不同的广告方案,我想让页面随机地随之而来。使用脚本语言来生成整个事情似乎有些过分,所以我认为SSI是理想的。

我想做这样的事情:

<!--#if expr="shouldIdoA" -->
... do A ...
<!--#else -->
... do B ...
<!--#endif -->

我不确定的部分是如何在A或B之间作出决定。

*我真的只想让它在50%的时间内走一条路,而另一种方式约占50%的时间,所以真正的随机性并不重要。甚至像决定当前时间的秒数是偶数还是奇数这样简单的事情对我来说也是有用的。

2 个答案:

答案 0 :(得分:2)

当我写下问题的最后一部分时,我开始思考如何利用时间来做我需要的事情。我提出了一个工作性的解决方案,它绝不是随意的,但它确实以一种平常的方式提供一个广告或另一个广告。

<!--#config timefmt='%S' -->
<!--#if expr='$DATE_LOCAL > 30' -->
... do A ...
<!--#else -->
... do B ...
<!--#endif -->

因此,如果我们在前半段,这将提供一个版本,如果我们在下半场,则将提供另一个版本。

如果您知道有任何不同/更好的方法,请发送信息!

答案 1 :(得分:1)

不,不太可能;这样做的SSI方式是包含或执行服务器端CGI,或者在服务器上运行命令。

优选:

<!--#include virtual="/cgi-bin/random-number.cgi?max=1" -->

好但不是首选:

<!--#exec cgi="/cgi-bin/random-number.cgi" -->

很可能没有启用:

<!--#exec cmd="perl /inet/cgi-bin/random-number.pl 0 1" -->

但是你正在编写一个简短的perl脚本来给你一个随机数,这就是你试图避免的那种东西。抱歉,如果您真的想避免使用javascript或PHP,那么您的解决方案和变体就足够了。