.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(), "/")
Ошибка 404 исходит от cherrypy (работает от cherrypy на боттоне), поэтому я заключаю, что apache правильно вызывает файл .wsgi, кажется, что он также передает /index.wsgi/, и cherrypy не знает, что с ним делать.
Кто-нибудь может мне с этим помочь?
Я никогда раньше не развертывал вишневое приложение, это лучший / единственный / рекомендуемый способ сделать это?
Заранее спасибо.
Если установить RewriteBase в '/' в .htaccess, вероятно, вам нужно будет использовать:
RewriteRule ^(.*)$ /index.wsgi$1 [QSA,L,PT]