2017-10-21 91 views
0

我想要完成的是让Apache在mysite.com/上提供所有内容,并让Django处理mydomain.com/signupmydomain.com/login下的所有内容。在URL中没有额外组件的情况下配置Django/Apache2/mod_wsgi的问题

问题是,现在用户必须浏览到mydomain.com/mysite/signupmydomain.com/mysite/login工作的东西。我想摆脱网址的mysite部分。

我创建了

django-admin startproject signup mysite 
cd mysite 
django-admin startapp login 

一个项目,我结束了与该目录结构。

mysite 
├── login 
│   ├── __init__.py 
│   ├── admin.py 
│   ├── apps.py 
│   ├── migrations 
│   │   └── __init__.py 
│   ├── models.py 
│   ├── tests.py 
│   ├── urls.py 
│   └── views.py 
├── manage.py 
└── signup 
    ├── __init__.py 
    ├── settings.py 
    ├── urls.py 
    ├── views.py 
    └── wsgi.py 

,我有以下URL模式在注册/ urls.py

urlpatterns = [ 
    url(r'^signup/', views.index, name='index'), 
    url(r'^login/', include('login.urls')), 
    url(r'^admin/', admin.site.urls), 
] 

我有阿帕奇mod_wsgi的安装和工作在我的虚拟主机文件有这个WSGIScriptAlias。

WSGIScriptAlias /mysite /usr/local/www/wsgi-scripts/mysite/signup/wsgi.py process-group=mysite.com 

当用户进入任何mydomain.com/mysite/signupmydomain.com/mysite/login一切正常。

我想要做的是摆脱上述URL的'mysite'部分,因此用户只需浏览到mydomain.com/signupmydomain.com/login

我已经试过

WSGIScriptAlias /signup /usr/local/www/wsgi-scripts/mysite/signup/wsgi.py process-group=mysite.com 
WSGIScriptAlias /login /usr/local/www/wsgi-scripts/mysite/signup/wsgi.py process-group=mysite.com 

但由于Apache或mod_wsgi的剥去“注册”或它到达之前的Django Django的,并认为只是用户的登录'部分正在寻找不工作为'/'。

有什么建议吗?

谢谢

回答

0

尝试使用:

WSGIScriptAlias /signup /usr/local/www/wsgi-scripts/mysite/signup/wsgi.py/signup process-group=mysite.com application-group=%{GLOBAL} 
WSGIScriptAlias /login /usr/local/www/wsgi-scripts/mysite/signup/wsgi.py/login process-group=mysite.com application-group=%{GLOBAL} 

注挂载点是如何wsgi.py后加入。此外还添加了application-group选项,以确保您只能在此过程中获得一个Django应用程序实例。

另一种方式是让任何静态文件由Apache处理,其他所有事情由WSGI应用程序处理。朝节的终结“阿帕奇别名指令”是如何做到这一点记载:

+0

正是我在找什么!像魅力一样工作。谢谢 – JJF

0

如果你不想要一个前缀,不要使用一个。

WSGIScriptAlias//usr/local/www/.... 
+0

我想/阿帕奇 – JJF

+0

担任那你想要两个矛盾的东西。 –

+0

/没有别的服务由Apache,/注册和/登录由wsgi – JJF

相关问题