mod_wsgi + cherrypy = 404 – 未findpath“/index.wsgi/”

.htaccess:

AddHandler wsgi-script .wsgi RewriteEngine On RewriteBase / RewriteRule ^(media/.*)$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ /index.wsgi/$1 [QSA,L,PT] 

index.wsgi:

 import atexit import threading import cherrypy cherrypy.config.update({'environment': 'embedded'}) if cherrypy.engine.state == 0: cherrypy.engine.start(blocking=False) atexit.register(cherrypy.engine.stop) class Root: def index(self): return "..." index.exposed = True def default(self): return "default" index.exposed = True application = cherrypy.tree.mount(Root(), "/") 
  • 这是一个共享的主机,我没有访问Apache
  • 我不允许使用WSGIScriptAlias

404错误来自cherrypy(由botpy上的cherrypy提供支持),所以我总结apache正确调用.wsgi文件,它似乎也传递/index.wsgi/和cherrypy不知道如何处理它。

谁能帮我这个?

我从来没有部署过樱桃软件,这是最好的/唯一/推荐的方式来做到这一点?

提前致谢。

如果在.htaccess中将RewriteBase设置为'/',可能需要使用:

 RewriteRule ^(.*)$ /index.wsgi$1 [QSA,L,PT]