django配置,mod_rewrite,mod_alias

时间:2009-07-22 20:43:19

标签: django configuration mod-rewrite

我为杂志创建了一个django网站,它可以在mag.org/django-site找到。旧网站仍在mag.org/httpdocs(由mediatemple托管)。

我希望能够点击www.mag.org打开django网站(目前的情况,在conf文件中进行配置),同时点击archive.mag.org服务于旧网站httpdocs,也就是说,它由apache服务而不是mod_python。

这可以通过mod-rewrite或mod-alias来实现吗?

万分感谢。

3 个答案:

答案 0 :(得分:2)

你不需要其中任何一个。只需设置虚拟主机,以便存档。*从httpdocs服务,www。*通过mod_python服务(虽然我真的,真的建议你通过mod_wsgi服务Django)。

例如:

<VirtualHost "*:80">
    ServerName www.mag.org
    SetHandler python-program
    PythonHandler django.core.handlers.modpython
    SetEnv DJANGO_SETTINGS_MODULE mysite.settings
    PythonOption django.root /mysite
</VirtualHost>

<VirtualHost "*:80">
    ServerName archive.mag.org
    DocumentRoot "/var/apache2/httpdocs"
</VirtualHost>

答案 1 :(得分:1)

是的,只需使用mod_rewrite,fe。:

Options +FollowSymLinks
Options +SymlinksIfOwnerMatch

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.mag.org$
RewriteRule ^(.*)$ http://mag.org/django-site [R=301,L]
RewriteCond %{HTTP_HOST} ^archive.mag.org$
RewriteRule ^(.*)$ http://mag.org/httpdocs [R=301,L]

不幸的是,就我记忆而言,重定向对用户是可见的。

答案 2 :(得分:0)

DocumentRoot /var/www/vhosts/mag.org/httpdocs

就是我所需要的,独自坐在/var/www/vhosts/mag.org/subdomains/archive/vhost.conf

虚拟主机解决方案不适用于mediatemple,因为每个vhost.conf已经被分隔为虚拟主机,由plesk配置。

感谢大家的帮助。