2009-07-22 6 views
2

J'ai créé un site django pour un magazine, et on le trouve dans mag.org/django-site. l'ancien site est toujours sur mag.org/httpdocs (hébergé par mediatemple). Je voudrais que de sorte qu'un coup sur www.mag.org retourne le site django (comme c'est actuellement le cas, configuré dans le fichier conf) alors qu'un hit sur archive.mag.org sert l'ancien site de httpdocs, c'est-à-dire qu'il est servi par apache et non par mod_python. Est-ce possible en mod-rewrite, ou en alias de mod? Le?configuration django, mod_rewrite, mod_alias

Merci mille fois.

Répondre

2

Vous n'en avez pas besoin. Configurez simplement vos hosts virtuels afin que archive. * Serve de httpdocs et www. * Serve via mod_python (bien que je vous recommande vraiment, vraiment, de servir Django via mod_wsgi).

Par exemple:

<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> 
+0

Vous pouvez également ajouter les lignes de journal appropriées à l'ancien site pour déterminer combien de temps vous devez réellement conserver les archives en ligne. – wlashell

+0

Merci pour la réponse rapide. Je pense que cela fonctionnera à la webfaction, mais malheureusement je suis coincé avec un médiatemple mediatemple de serveur de dv, et je ne pense pas que virtualhost fonctionne de la même manière. structure de répertoire est : var/www/vhosts/mag/monsite/ httpdocs/ vhost.conf conf subdomain/archive/ httpdocs vhost.conf conf Je peux peut-être ajouter [DocumentRoot «/var/www/vhosts/mag/httpdocs "] à /subdomain/archive/conf/vhost.conf. –

1

Oui, il suffit d'utiliser 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] 

Malheureusement, le redirecion est visible à l'utilisateur que je me souviens bien.

0

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

était

tout ce que je avais besoin, assis tout seul dans /var/www/vhosts/mag.org/subdomains/archive/vhost.conf

La solution virtualhost ne fonctionnait pas pour mediatemple, car chaque vhost.conf est déjà délimité en tant que virtualhost, configuré par plesk.

Merci pour l'aide à tous.