带有apache + mod_wsgi的单域上的Django-CMS和LFS(带有ubuntu的amazon ec2服务器)

时间:2012-08-15 15:14:51

标签: python django apache django-lfs

我有一些难以在单个域上安装多个Django项目。我想在同一个域上运行Django-CMS和LFS:

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

目前,我可以使用正确的django项目访问这两个域而没有问题,但是在LFS项目中,所有商店的链接都重定向到第一个域。例如,购物车链接会重定向到 mydomain.com/cart ,而不是 mydomain.com/store/cart

我尝试通过在所有网址模式中添加“store /”来更改url.py文件,但它不起作用。 我想我必须在LFS项目的settings.py中添加一个配置,但我不知道是什么。

你有什么想法吗? 谢谢 ! :)

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 个答案:

答案 0 :(得分:0)

Django并不总是在子目录中播放得太好 - 即使在它是域中唯一的Django项目的情况下也是如此。我以为文档建议不要这样做,但是在快速搜索之后我无法找到该页面

其中一个问题可能在这里:

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

看起来该指令可能会将/下的所有URI段映射到此特定WSGI脚本,从而覆盖/store别名。颠倒脚本别名的顺序可能会也可能不会解决此问题。

是否可以重新考虑您的网址约定,以便从子域提供“商店”区域,例如store.mydomain.com/cart?

如果是这样,这可能是一个更好的支持结构,这两个项目可以有孤立的Apache进程和WSGI脚本。

另一个解决方案是将两个项目集成到一个Django项目中。我不知道您的特定用例是什么可能阻止您走这条路线或这可能带来哪些独特挑战,但如果两个项目都使用身份验证,这对用户尤其有用。