如何“动态”将http请求重定向到文档根目录之外的文件夹

时间:2011-12-19 23:02:41

标签: lighttpd symlink

我在lighttpd服务器上为PHP中的几个客户端构建了一个小型自定义CMS。现在,每个客户端都在用户root中拥有自己的CMS副本:

Client1/www/index.php
Client1/www/CMS/includes
Client1/www/CMS/scripts
Client2/www...

为了更好的维护,我决定将CMS放在用户root之外的额外文件夹中。因此,在开发CMS时,我不必更新每个客户端:

CMS/includes
CMS/scripts
Client1/www/index.php
Client2/www...

要重定向http请求,例如 www.client1.com/scripts/default.js ,我只需在用户根目录中添加一个符号链接:

CMS/scripts -> ../../CMS/scripts

到目前为止,这么好。但现在项目越来越大,我需要使用不同版本的“CMS”:

CMS_1.0/...
CMS_1.2/...

使用简单的PHP-includes,这没有问题。我只是在Client1 / www /中的一个小配置脚本中将该版本声明为GLOBAL,并包含如下内容:

include "../../CMS_".$GLOBALS["version"]."/includes/myClass.php";

但是对于所有的http请求(CSS,JS和Ajax加载的PHP),我每次更改为新版本的“CMS”时都需要编写新的符号链接

CMS/scripts -> ../../CMS_1.0/scripts

问题:

有什么方法可以将 www.client1.com/scripts/default.js 重定向到 ../../ CMS_1。 0 / scripts 在符号链接中使用像$ version这样的变量,或者通过配置lighttpd或其他任何方式?

我希望你们能理解我的问题...

1 个答案:

答案 0 :(得分:0)

对目录进行符号链接而不是单个文件,或者对脚本目录使用lighttpd的mod_alias:http://redmine.lighttpd.net/wiki/1/Docs:ModAlias