Как развернуть Django в подкаталоге с правильным mod_rewrite? - PullRequest
0 голосов
/ 14 декабря 2018

Установить приложение Django в корневой папке гораздо проще, но у меня есть проект, в котором я должен настроить приложение в подпапке, хотя я знаю, что большинство опытных разработчиков не будут делать это таким образом.

У меня есть веб-сайт, размещенный с NameCheap, http://www.sctongye.com, блог WordPress установлен в корневой папке, сейчас я пытаюсь настроить приложение Django в подпапке cPanel http://sctongye.com/thoughts/ с настройками.py, показанный ниже

STATIC_URL = 'thoughts/static/' # on server
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static"),
)

Кажется, все работает нормально, но когда я попытался войти через администратора

http://sctongye.com/thoughts/admin/ или http://sctongye.com/thoughts/xadmin/ (другой администраторЯ установил)

неверный путь ко всем статическим файлам, как показано ниже:

GET http://sctongye.com/thoughts/xadmin/thoughts/static/thoughts/static/xadmin/vendor/bootstrap/css/bootstrap.css 404 (Not Found)
GET http://sctongye.com/thoughts/xadmin/thoughts/static/xadmin/css/themes/bootstrap-xadmin.css 404 (Not Found)
GET http://sctongye.com/thoughts/xadmin/thoughts/static/thoughts/static/xadmin/css/xadmin.main.css 404 (Not Found)

Как вы видите, тонны дублированных статических имен в ссылке на путь.

Чтобы приложение Django работало с подпапкой, мне нужно настроить файл .htaccess прямо в подпапке

# DO NOT REMOVE. CLOUDLINUX PASSENGER CONFIGURATION BEGIN
PassengerAppRoot "/home/username/thoughts"
PassengerBaseURI "/thoughts"
PassengerPython "/home/username/virtualenv/thoughts/3.6/bin/python3.6"
RewriteCond %{REQUEST_URI} !^/thoughts  (<== I had to add this line to make it work, but I think this should be where the potential problem come from)
# DO NOT REMOVE. CLOUDLINUX PASSENGER CONFIGURATION END

Поскольку я делаю это через cPanel, нет доступа ко всемдругие файлы настроек сервера, такие как conf, может кто-топомогите разобраться, почему статический файл для страницы администратора выглядел так странно и как я могу это исправить?

...