У меня ситуация с множеством экземпляров 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 расскажет вам, как это сделать. Смотрите: