mod_wsgi + cherrypy = 404 - путь '/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(работает на основе cherrypy в нижней части страницы), поэтому я пришел к выводу, что apache правильно вызывает файл.wsgi, кажется, что он также передает /index.wsgi/, и cherrypy не знает, что с ним делать.

Кто-нибудь может мне с этим помочь?

Я никогда не развертывал приложение cherrypy прежде, это лучший / единственный / рекомендуемый способ сделать это?

Заранее спасибо.

1 ответ

Если для RewriteBase установлено значение '/' в.htaccess, вероятно, вам нужно использовать:

RewriteRule ^(.*)$ /index.wsgi$1 [QSA,L,PT]
Другие вопросы по тегам