我有硬编码的 mod_rewrite 角色,我想让它动态化,我能以某种方式从数据库中获取用户名吗?或者我在配置文件中定义的其他变量??这就是我现在所拥有的:
RewriteRule ^/user01(.*) http://$1localhost:8086/RPC2 [P]
RewriteRule ^/user02(.*) http://$1localhost:8088/RPC2 [P]
RewriteRule ^/user03(.*) http://$1localhost:8089/RPC2 [P]
RewriteRule ^/user04(.*) http://$1localhost:8090/RPC2 [P]
RewriteRule ^/user05(.*) http://$1localhost:8091/RPC2 [P]
正如您所看到的,每个用户我都需要对其进行硬编码定义,它可以从数据库中动态获取吗?
答案1
怎么样?RewriteMap
? 如果您希望查找针对实际数据库进行,则需要为其编写自定义查找处理程序,但文本文件格式可能适合您的需要。
附注:通过将用户提供的输入放在代理地址的主机部分,您很容易受到CVE-2011-3368. 确保您的 Apache 已经修补了该问题。