Как получить доступ к корневому пути в каталоге mod_python? - PullRequest
1 голос
/ 05 января 2009

В моем веб-сервере Apache я поместил это:

<Directory /var/www/MYDOMAIN.com/htdocs>
    SetHandler mod_python
    PythonHandler mod_python.publisher
    PythonDebug On
</Directory>

Тогда у меня есть файл handler.py с функцией индекса.

Когда я захожу на MYDOMAIN.com/handler.py, я вижу веб-страницу, созданную функцией индекса (просто обычная ванильная HTML-страница). Все остальные страницы этого типа: MYDOMAIN.com/handler.py/somename где somename соответствует функции в файле handler.py.

Но когда я захожу на MYDOMAIN.com, я получаю это:

Не найдено

Запрошенный URL / не найден в этот сервер.

Есть ли способ с mod_python и издателем просто использовать root, а не name.py в качестве отправной точки?

Я уже пробовал с этим в файле Apache Conf:

DirectoryIndex handler.py

Безрезультатно: (

Ответы [ 2 ]

2 голосов
/ 05 января 2009

Да, но вам нужно создать свой собственный обработчик. В настоящее время вы используете издателя, он просто проверяет URI и загружает данный модуль python.

Чтобы создать свой собственный обработчик, вам нужно создать такой модуль (просто минималистичный пример):

from mod_python import apache

def requesthandler(req):
    req.content_type = "text/plain"
    req.write("Hello World!")
    return apache.OK

Тогда вы просто указываете на это в конфигурации Apache.

Вы по-прежнему можете использовать обработчик издателя в своем собственном обработчике, хотя вы не можете иметь красивые URL с ним AFAIK.

0 голосов
/ 05 января 2009

Попробуйте создать в каталоге пустой файл с именем index (или любым другим), а затем используйте

DirectoryIndex index

Похоже, проверка DirectoryIndex выполняется при просмотре файловой системы.

...