2017-10-21 92 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

相關問題