2013-02-16 4 views
3

n00b вопрос. У меня есть файл .htaccess со следующим:.htaccess с скриптами python

AddHandler python-program .py 
PythonHandler index 

Я пытаюсь написать еще одну программу под названием script2.py, но когда я печатаю его файловый_сервер/script2.py он перенаправляет на файловый сервер/index.py. Любой способ остановить это?

ответ

3

Существуют различные способы настройки mod_python. Я думаю, вы хотите python.publisher. Документы показать этот конфиг:

AddHandler python-program .py 
PythonHandler mod_python.publisher 

Затем, для примера, script2.py бы иметь что-то вроде:

def index(req): 
    # Your handler here 

Примечания, документация говорит:

Этот обработчик позволяет получить доступ к функциям и переменным внутри модуля через URL.

документация предоставляет этот пример (который я изменил использовать script2.py):

def say(req, what="NOTHING"): 
    return "I am saying %s" % what 

URL, http://www.mysite.com/script2.py/say вернуться бы "Я не говорю НИЧЕГО". URL http://www.mysite.com/hello.py/say?what=hello вернется «Я говорю привет».

Обычно вы не хотите раскрывать каждую функцию и переменную.

Обход остановится и HTTP_NOTFOUND будут возвращены клиенту, если:

  • Любой из имен пройденной объекта начинаются с символа подчеркивания («_»). Используйте символы подчеркивания для защиты объектов, которые не должны быть доступны из Интернета.