у меня ситуация со многими экземплярами 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.
Официальная документация mod_wsgi по интеграции Trac с mod_wsgi расскажет, как это сделать. Видеть:
Вы можете переключиться на mod_wsgi вместо modpython и увидеть здесь мой ответ, как делать то, что вы хотите: Динамические поддомены, mod_python и trac