Маршрутизация Apache TracEnv

Маршрутизация Apache TracEnv

У меня ситуация с множеством экземпляров trac. У всех одинаковая структура в файловой системе.

PATH/trac1
PATH/trac2
PATH/trac3

У меня такая конфигурация

<Location /trac/trac1>
 SetHandler mod_python
 PythonInterpreter main_interpreter
 PythonHandler trac.web.modpython_frontend 
 PythonOption TracEnv PATH/trac1
 PythonOption TracUriRoot /trac/trac1
 PythonOption PYTHON_EGG_CACHE PATH/eggs/
</Location>
<Location /trac/trac2>
 SetHandler mod_python
 PythonInterpreter main_interpreter
 PythonHandler trac.web.modpython_frontend 
 PythonOption TracEnv PATH/trac2
 PythonOption TracUriRoot /trac/trac2
 PythonOption PYTHON_EGG_CACHE PATH/eggs/
</Location>
<Location /trac/trac3>
 SetHandler mod_python
 PythonInterpreter main_interpreter
 PythonHandler trac.web.modpython_frontend 
 PythonOption TracEnv PATH/trac3
 PythonOption TracUriRoot /trac/trac3
 PythonOption PYTHON_EGG_CACHE PATH/eggs/
</Location>

интересно, возможно ли сделать что-то подобное (TracEnvParentDir не вариант)

<Location /trac/{ENV}>
 SetHandler mod_python
 PythonInterpreter main_interpreter
 PythonHandler trac.web.modpython_frontend 
 PythonOption TracEnv PATH/{ENV}
 PythonOption TracUriRoot /trac/{ENV}
 PythonOption PYTHON_EGG_CACHE PATH/eggs/
</Location>

Спасибо за ваше время.

РЕДАКТИРОВАТЬ:TracEnvParentDir не вариант, так как моя структура следующая

+---projs
    +---trac1
    ¦   +---public [instance]
    ¦   +---t1
    ¦   ¦   +---common [instance]
    ¦   ¦   +---g1 [instance]
    ¦   ¦   +---g2 [instance]
    ¦   ¦   +---g3 [instance]
    ¦   ¦   +---g4 [instance]
    ¦   ¦   +---g5 [instance]
    ¦   +---t2
    ¦   ¦   +---common [instance]
    ¦   ¦   +---g1 [instance]
    ¦   ¦   +---g2 [instance]
    ¦   ¦   +---g3 [instance]
    ¦   ¦   +---g4 [instance]
    ¦   ¦   +---g5 [instance]
    ¦   +---t3
    ¦       +---common [instance]
    ¦       +---g1 [instance]
    ¦       +---g2 [instance]
    ¦       +---g3 [instance]
    ¦       +---g4 [instance]
    ¦       +---g5 [instance]
    ¦  
    +---trac2
        +---public [instance]
        +---t1
        ¦   +---common [instance]
        ¦   +---g1 [instance]
        ¦   +---g2 [instance]
        ¦   +---g3 [instance]
        ¦   +---g4 [instance]
        ¦   +---g5 [instance]
        +---t2
        ¦   +---common [instance]
        ¦   +---g1 [instance]
        ¦   +---g2 [instance]
        ¦   +---g3 [instance]
        ¦   +---g4 [instance]
        ¦   +---g5 [instance]
        +---t3
            +---common [instance]
            +---g1 [instance]
            +---g2 [instance]
            +---g3 [instance]
            +---g4 [instance]
            +---g5 [instance]

Я используюTracEnvParentDirна t1, t2 и t3 иTracEnvна trac1/public и trac2/public

Интересно, можно ли определить часть переменной url.

решение1

Возможно, вы захотите перейти на mod_wsgi вместо modpython, и посмотрите мой ответ здесь, как сделать то, что вам нужно:Динамические поддомены, mod_python и trac

решение2

Официальная документация mod_wsgi по интеграции Trac с mod_wsgi расскажет вам, как это сделать. Смотрите:

http://code.google.com/p/modwsgi/wiki/IntegrationWithTrac

Связанный контент