我为一本杂志做了一个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来实现吗?
万分感谢。
发布于 2009-07-22 20:51:07
这两个你都不需要。只需设置您的虚拟主机,以便来自httpdocs和www..*的archive.*通过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>发布于 2009-07-22 20:57:26
可以,只需使用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]不幸的是,据我所知,用户是可见的。
发布于 2009-07-22 22:18:51
DocumentRoot /var/www/vhosts/mag.org/httpdocs
就是我所需要的,独自坐在/var/www/vhosts/mag.org/subdomains/archive/vhost.conf
虚拟主机解决方案不适用于媒体,因为每个vhost.conf都已经被定义为一个虚拟主机,由plesk配置。
感谢大家的帮助。
https://stackoverflow.com/questions/1168121
复制相似问题