URL-адреса в mod_python не работают должным образом - PullRequest
0 голосов
/ 02 февраля 2011

Я создаю веб-сервер с apache и mod_python. Я создал index.py, как и другие, но в отличие от других, я не могу получить доступ к веб-страницам без добавления .py в URL.

Например, http://127.0.1.1/commentsubmit выдает 404, но http://127.0.1.1/commentsubmit.py открывает страницу, как и ожидалось.

Все в моем index.py, и http://127.0.1.1/ подходит нормально, но ничего кроме .py. Другие мои методы выглядят так:

def commentsubmit(req):
    rest of method

Я почти уверен, что проблема в mod_python, но я понятия не имею, что. Есть ли какие-то настройки конфигурации, которые могут это сделать? Что-то кроме from mod_python import apache Я должен импортировать?

1 Ответ

1 голос
/ 02 февраля 2011

Ваш сервер apache был бы настроен на передачу запросов к именам файлов, оканчивающихся на .py, в mod_python (если файл существует в директории.)

Существует несколько различных решений для запроса к /commentsubmit передается вашему обработчику commentsubmit.py.Возможно, проще всего было бы использовать mod_rewrite .Добавьте это к вам .htaacess :

RewriteEngine On
RewriteOptions Inherit
RewriteRule   ^commentsubmit$  commentsubmit.py

Это устаревший способ делать вещи.Я рекомендовал вам взглянуть на пирамиду (или пилоны, или django, или одну из миллиона других инфраструктур wsgi). После этого вы сможете гораздо лучше контролировать отображение ulrs в коде, используя диспетчеризацию URL на основе маршрутаили трансверсальная отправка URL.

...