6

除了简单的索引 / 在 CGI 环境中使用 bottle.py 正确返回之外,我一直难以获得任何东西。当我尝试返回 /hello 时,我收到 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
<ifmodule mod_rewrite.c="">
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.py/$1  [L]
</ifmodule>

当我使用 DH 时,我从这里复制了很多代码,这似乎很相关: http: //blog.coderonfire.com/2010/02/running-bottle-python-micro-framework.html

感谢您的帮助。

4

1 回答 1

4

问题是该<ifmodule>块与您的 Apache 服务器无关,并且 mod_rewrite 的指令不起作用。从以下开始.htaccess,然后如果您有需要,根据您当前的 apache 版本添加块。

DirectoryIndex index.py
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.py/$1  [L]
于 2010-04-19T09:48:21.710 回答