Apache-2.2

mod_wsgi + cherrypy = 404 - 找不到路徑’/index.wsgi/'

  • August 25, 2010

.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(由botton上的cherrypy驅動),所以我認為apache正在正確呼叫.wsgi文件,它似乎也通過了/index.wsgi/,並且cherrypy不知道如何處理它。

誰能幫我這個?

我以前從未部署過櫻桃應用程序,這是最好/唯一/推薦的方法嗎?

提前致謝。

如果在 .htaccess 中將 RewriteBase 設置為“/”,您可能需要使用:

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

引用自:https://serverfault.com/questions/174190