我有一些 mod 重写规则,用于测试文件在各种 NFS 挂载点的存在,并且我希望测试随机进行,作为一种非常基本的分配负载的方法。
例如:
RewriteEngine 开启 重写条件 %{REQUEST_URI} ^/(.+)$ RewriteCond /mnt/mount1/%1 -f 重写规则 ^/(.+)$ /mnt/mount1/$1 [L] 重写条件 %{REQUEST_URI} ^/(.+)$ RewriteCond /mnt/mount2/%1 -f 重写规则 ^/(.+)$ /mount2/$1 [L] 重写条件 %{REQUEST_URI} ^/(.+)$ RewriteCond /mnt/mount3/%1 -f 重写规则 ^/(.+)$ /mnt/mount3/$1 [L] 重写条件 %{REQUEST_URI} ^/(.+)$ RewriteCond /mnt/mount4/%1 -f 重写规则 ^/(.+)$ /mnt/mount4/$1 [L]
据我所知,mod_rewrite Apache 将在 /mnt/mount1 上查找文件,然后在 mount2、mount3 等上查找。
我可以在每个请求中随机化这个吗?我知道这是一个奇怪的请求,但我需要一个创造性的解决方案来解决一些不可预见的停机时间。
顺便问一下,我是否需要RewriteCond %{REQUEST_URI} ^/(.+)$
像以前一样每次都重新声明?
谢谢
答案1
建议你创建一个 cron 作业,用其他配置文件以不同的顺序更改重写文件,重写条件也不同。你可以每分钟运行一次该 cron 作业,并使用不同的配置文件来替换它。
答案2
我认为我在 mod_rewrite 中找到了可以实现此目的的功能:RewriteMap prg
http://httpd.apache.org/docs/current/rewrite/rewritemap.html