как «динамически» перенаправить http-запрос в папку вне корня документа - PullRequest
0 голосов
/ 20 декабря 2011

Я создал небольшую пользовательскую CMS для пары клиентов на PHP на lighttpd-сервере.Прямо сейчас у каждого клиента есть собственная копия CMS в пользовательском корне:

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

Для лучшего обслуживания я решил поместить CMS в дополнительную папку вне пользовательского корня.Поэтому мне не нужно обновлять каждый отдельный клиент при разработке 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-включениями это не проблема.Я просто объявляю версию как GLOBAL в небольшом config-скрипте внутри Client1 / www / и добавляю:

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 голосов
/ 02 января 2012

Либо сделайте символическую ссылку на каталог вместо отдельных файлов, либо используйте mod_alias для lighttpd для вашей директории скриптов: http://redmine.lighttpd.net/wiki/1/Docs:ModAlias

...