Django-CMS и LFS в одном домене с apache+mod_wsgi (сервер amazon ec2 с ubuntu)

У меня есть несколько сложных для установки нескольких проектов Django на одном домене. Я хочу запустить Django-CMS и LFS в одном домене:

  • mydomain.com (django-cms)
  • mydomain.com/store (LFS)

В настоящее время я могу без проблем получить доступ к двум доменам с правильным django-проектом, однако в проекте LFS все ссылки магазина перенаправляются на первый домен. Например, ссылка на корзину перенаправляет на mydomain.com/cart вместо mydomain.com/store/cart.

Я попытался изменить файл url.py, добавив "store/" во все шаблоны url, но он не работает. Я думаю, что мне нужно добавить конфигурацию в settings.py проекта LFS, но я не знаю что.

У тебя есть идеи? Спасибо!:)

PS: здесь мой httpd.conf

Alias /store/static /home/ubuntu/lfs-installer/lfs_project/sitestatic/

<Directory /home/ubuntu/lfs-installer/lfs_project/sitestatic>
Order deny,allow
Allow from all
</Directory>

WSGIScriptAlias /store /home/ubuntu/lfs-installer/apache/django.wsgi


Alias /static /home/ubuntu/lfs-installer/selmyrtech/static/

<Directory /home/ubuntu/lfs-installer/selmyrtech/static>
Order deny,allow
Allow from all
</Directory>

WSGIScriptAlias / /home/ubuntu/lfs-installer/selmyrtech/apache/django.wsgi

1 ответ

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

Одна из проблем может быть здесь:

WSGIScriptAlias / /home/ubuntu/lfs-installer/selmyrtech/apache/django.wsgi

Похоже, что эта директива, возможно, отображает все сегменты URI под / к этому конкретному сценарию WSGI, переопределяя /store псевдоним. Изменение порядка псевдонимов сценария может решить, а может и не решить эту проблему.

Можно ли переосмыслить ваше соглашение об URL, чтобы предлагать область "store" из субдомена, например store.mydomain.com/cart?

Если это так, это может быть лучше поддерживаемая структура, и эти два проекта могут иметь изолированные процессы Apache и сценарии WSGI.

Другое решение - объединить два проекта в один проект Django. Я не знаю, каковы ваши конкретные варианты использования, которые могут помешать вам идти по этому пути, или какие уникальные проблемы это может представлять, но это может быть особенно полезно для пользователей, если оба проекта будут использовать аутентификацию.

Другие вопросы по тегам