Я испытывал затруднения, заставляя что-то большее чем простой индекс / возвращать правильно использование bottle.py в среде CGI. Когда я пытаюсь возвратить / привет, я получаю 404 ответа. Однако, если я запрашиваю/index.py/hello
import bottle
from bottle import route
@route('/')
def index():
return 'Index'
@route('/hello')
def hello():
return 'Hello'
if __name__ == '__main__':
from wsgiref.handlers import CGIHandler
CGIHandler().run(bottle.default_app())
И вот мой .htaccess файл
DirectoryIndex index.py
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.py/$1 [L]
Я скопировал большую часть кода отсюда, поскольку я использую DH, и это казалось релевантным: http://blog.coderonfire.com/2010/02/running-bottle-python-micro-framework.html
Спасибо за помощь.
Проблема в том, что блок
не имеет отношения к вашему серверу Apache, а директивы для mod_rewrite не работают. Начните со следующего .htaccess
, а затем, если вам нужно, добавьте блок в соответствии с вашей текущей версией apache.
DirectoryIndex index.py
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.py/$1 [L]