【发布时间】:2014-11-07 11:26:56
【问题描述】:
我如何创建一个配置为从根 url 提供服务的 django 网站(在 apache/mod_wsgi/django 设置中),只为特定的子 url 而不是根 url 服务?根 url 应从新源 (php) 提供。只需最少的重新配置即可实现所有这些。
目前压缩后的虚拟主机配置如下所示
<VirtualHost *:80>
ServerAdmin admin@mysite.com
ServerName mysite.com
# mappings to django
WSGIScriptAlias / /opt/mysite/mysite.wsgi
<Directory /opt/mysite>
Order allow,deny
Allow from all
</Directory>
# mappings to wordpress
Alias /wp/ /var/www/mysiteWP/
<Location "/var/www/mysiteWP/">
Options -Indexes
</Location>
Alias /show/ /var/www/mysiteWP/
Alias /collection/ /var/www/mysiteWP/
</VirtualHost>
如您所见,django 和 php(wordpress) 并排运行。 Wordpress 仅提供 mysite.com/show/ 和 mysite.com/collection/。 Django 为其余部分提供服务,包括根 URL mysite.com。此配置有效。
我现在想要做的是,我想让 wordpress 提供所有内容,除了一些应该由 django 提供的特定 url。例如。 django 应该只为mysite.com/shop/ 和mysite.com/news/ 提供服务,但不包括mysite.com。
如何通过最少的重新配置来做到这一点?
感谢您的回答和提示。
【问题讨论】:
-
我做了类似的事情,但我的前端是 nginx。 nginx.conf 中 url 路由的配置类似于 django 中 url 路由的方式,从上到下。不是答案,而是:查看 nginx 作为您的前端。它为混合带来了理智。
-
@Beltiras:谢谢。如果我找不到任何解决方案,我会深入研究。 Django 需要有一些方法来做到这一点。
-
@Creech:你找到解决方案了吗?如果是这样,那么请将其发布为您自己问题的答案。谢谢。
标签: django apache url-routing wsgi mount-point