我有一个Django站点,正在研究mod_wsgi和Apache。 (例如,example.com)我创建了一个子域(例如,info.example.com),并希望将其指向现有项目中的app。是否有可能,我有一个urls.py文件,example.com/info和info.example.com指向Django项目中的相同视图(不重复不同目录中的整个项目)?
如果是这样,我该怎么办?目前,现有项目的example.com virtalhost配置如下所示:
<VirtualHost 12.34.56.78:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /srv/www/Example/Pub_html
WSGIScriptAlias / /srv/www/Example/example.wsgi
<Directory /srv/www/Example/Example>
Order allow,deny
Allow from all
</Directory>
Alias /robots.txt /srv/www/Example/robots.txt
Alias /favicon.ico /srv/www/Example/favicon.ico
....
</VirtualHost>
提前致谢!
更新:我通过创建另一个与现有项目共享数据库表和模板文件夹的Django项目来快速解决此问题。它有效,但它不是真的干:)
答案 0 :(得分:1)
mod_proxy
和mod_proxy_html
,请尝试以下操作:
<VirtualHost 12.34.56.78:80>
ServerName info.example.com
ProxyPass / http://example.com/info
SetOutputFilter proxy-html
<Location />
ProxyPassReverse /info/
ProxyHTMLURLMap /info/ /
</Location>
ProxyHTMLURLMap http://example.com/info /
</VirtualHost>
细节可能不太正确,所以如果你不能让它工作,请告诉我。