2013-10-25 47 views
0

我有一個Django應用程序與Apache和mod_wsgi設置,它工作正常。我在/ blog /子目錄下的相同應用程序下有一個百日草博客。所以,這個博客是www.mysite.com/blog/。我想要做的是將blog.mysite.com/指向/ blog /子目錄。我很難過,因爲我不知道我是否應該通過Django或Apache來做到這一點。那麼,有什麼想法?試圖設置Django應用程序子目錄作爲子域

+0

您應該首先配置您的Web服務器(即接收DNS名稱並進行別名)。如果你使用Nginx然後配置它。如果沒有,你可以配置Apache。當然,請確保blog.mysite.com匹配相同的IP地址。 – sergzach

回答

0

這必須用Apache配置完成。

我認爲你必須設置一個反向代理,它將監聽blog.mysite.com域和代理請求到www.mysite.com/blog/。

不幸的是,我不是一個Apache專業版,所以不能幫助您進行配置。

0
從內存

完全和現在不能測試,但在虛擬主機的blog.mysite.com掛載爲:

WSGIScriptAlias//some/path/wsgi.py/blog 

換句話說,你還在mod_wsgi的安裝它,但增加'/ blog'到目標WSGI腳本路徑的末尾。這應該從內存中導致Apache和mod_wsgi重新映射東西,以便'/ blog'自動添加爲Django應用程序所看到的URL的一部分。因此它應該映射到在Django urls.py的URL名稱空間中映射到該位置的博客。

請注意,因爲您使用不同的WSGIScriptAlias來完成它,它實際上會在第一個不同的子解釋器中加載Django站點的第二個副本。如果這是不可取的,那麼可以使用WSGIApplicationGroup指令來覆蓋它們都在運行的應用程序組,並將它們設置爲相同。如果你還沒有使用mod_wsgi守護進程模式,那麼最好使用mod_wsgi守護進程模式,並且使它們與Apache子進程工作進程不同,因爲這通常比使用嵌入模式更好。

+0

不幸的是,似乎沒有工作。我得到了一個錯誤: '內部服務器錯誤:/ blog/favicon.ico' 不知道我是否應該改變我的網址中的任何內容...... –

+0

/favicon.ico的請求總是要無論如何很可能失敗,因爲你的Django應用程序可能不會理解這樣的請求。您應該使用Alias指令來映射這些特殊的URL。換句話說,這是一個無關的問題。請參閱http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide#Mounting_At_Root_Of_Site因此,您是否有任何其他細節說明失敗的原因,因爲這不是原因。 –

相關問題