Python 除domain.com外,没有其他url在我的django项目生产模式下工作,
整个django项目在本地主机上运行良好。但当我将其上传到linux共享服务器并部署该项目时,只有domain.com起作用。其他链接(如domain.com/admin或domain.com/xyz)正在重定向到500内部服务器错误。大多数答案都与passenger_wsgi.py中的passenger服务器问题有关,但我找不到任何错误或问题 乘客_wsgi.pyPython 除domain.com外,没有其他url在我的django项目生产模式下工作,,python,django,linux,server,passenger,Python,Django,Linux,Server,Passenger,整个django项目在本地主机上运行良好。但当我将其上传到linux共享服务器并部署该项目时,只有domain.com起作用。其他链接(如domain.com/admin或domain.com/xyz)正在重定向到500内部服务器错误。大多数答案都与passenger_wsgi.py中的passenger服务器问题有关,但我找不到任何错误或问题 乘客_wsgi.py import myapp.wsgi SCRIPT_NAME = '/home/username/myapp' class Pas
import myapp.wsgi
SCRIPT_NAME = '/home/username/myapp'
class PassengerPathInfoFix(object):
def __init__(self, app):
self.app = app
def __call__(self, environ, start_response):
from urllib.parse import unquote
environ['SCRIPT_NAME'] = SCRIPT_NAME
request_uri = unquote(environ['REQUEST_URI'])
script_name = unquote(environ.get('SCRIPT_NAME', ''))
offset = request_uri.startswith(script_name) and len(environ['SCRIPT_NAME']) or 0
environ['PATH_INFO'] = request_uri[offset:].split('?', 1)[0]
return self.app(environ, start_response)
application = myapp.wsgi.application
application = PassengerPathInfoFix(application)
这信息太少,帮不上忙。在服务器上时,这可能是一个相对路径问题。非常确定您不应该像那样覆盖脚本名称。你是从哪里想到要这么做的?@KostasCharitidis抱歉,我是django的新手。如果你能告诉我我还应该提供什么样的信息,那会很有帮助。。感谢you@DanielRoseman在网站的“如何在共享服务器上安装和配置django”一节中给出了这一点。链接如下。。