Почему url моего сайта django совпадает с путем к каталогу на сервере?

Я впервые развертываю сайт django на сервере cpanel с помощью phusion passenger на cloudlinux, и он наконец-то работает, но я обнаружил странное явление, и я не знаю, нормально ли это.

когда я перехожу на базовый url сайта, главная страница появляется, как и ожидалось, и когда я нажимаю на любую ссылку, страница загружается нормально, но url отображает полный путь из каталога /home.

Так, например, вместо - https://website.net/django_app , я получаю - https://website.net/home/userdir/django_site/django_app

Я подозреваю, что это можно исправить в .htaccess, но я бы очень хотел знать, что происходит.

Вот мой файл passenger_wsgi.py, который я взял с этого сайта (https://www.a2hosting.co.uk/kb/developer-corner/python/installing-and-configuring-django-on-linux-shared-hosting), так как автоматически созданный cpanel passenger_wsgi не работал ;

1 import os
  2 import sys
  3 
  4 import django.core.handlers.wsgi
  5 from django.core.wsgi import get_wsgi_application
  6 
  7 # Set up paths and environment variables
  8 sys.path.append(os.getcwd())
  9 os.environ['DJANGO_SETTINGS_MODULE'] = 'django_site.deployment_settings'
 10 
 11 # Set script name for the PATH_INFO fix below
 12 SCRIPT_NAME = os.getcwd()
 13 
 14 class PassengerPathInfoFix(object):
 15     """
 16         Sets PATH_INFO from REQUEST_URI because Passenger doesn't provide it.
 17     """
 18     def __init__(self, app):
 19         self.app = app
 20 
 21     def __call__(self, environ, start_response):
 22         from urllib.parse import unquote
 23         environ['SCRIPT_NAME'] = SCRIPT_NAME
 24         request_uri = unquote(environ['REQUEST_URI'])
 25         script_name = unquote(environ.get('SCRIPT_NAME', ''))
 26         offset = request_uri.startswith(script_name) and len(environ['SCRIPT_NAME']) or 0
 27         environ['PATH_INFO'] = request_uri[offset:].split('?', 1)[0]
 28         return self.app(environ, start_response)
 29 
 30 # Set the application
 31 application = get_wsgi_application()
 32 application = PassengerPathInfoFix(application)

Надеюсь, кто-нибудь сможет помочь. Спасибо.

Вернуться на верх