2009-07-22 6 views
2

잡지를위한 django 사이트를 만들었으며 mag.org/django-site에 있습니다. 이전 사이트는 여전히 mag.org/httpdocs (mediatemple에서 호스팅)에 있습니다.django 설정, mod_rewrite, mod_alias

나는 www.mag.org에 대한 히트가 django 사이트를 보여주기를 바라고 (현재로서는 conf 파일에서 그렇게 설정되어있다.) archive.mag.org가 이전 사이트를 제공하는 동안 httpdocs에서, 즉 mod_python이 아니라 apache가 제공합니다.

mod-rewrite 또는 mod-alias를 통해이 작업을 수행 할 수 있습니까?

감사합니다.

답변

2

두 가지 중 어느 것도 필요하지 않습니다. archive. *가 httpdocs 및 www. *에서 mod_python을 통해 제공되도록 가상 호스트를 설정하십시오. (실제로 mod_wsgi를 통해 장고를 제공하는 것이 좋습니다.) 예를 들어

:

<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

아카이브를 온라인 상태로 유지해야하는 기간을 결정하기 위해 이전 사이트에도 적절한 로그 라인을 추가 할 수 있습니다. – wlashell

+0

빠른 답장을 보내 주셔서 감사합니다. 나는 이것이 webfaction에서 작동 할 것이라고 생각하지만 불행히도 mediatemple dv 서버 mediatemple이 붙어 있고 virtualhost가 같은 방식으로 작동하지 않는다고 생각합니다. 디렉토리 구조는 다음과 같습니다 var에/www /에서 가상 호스트/잡지/내 사이트/ httpdocs/ conf의 vhost.conf 하위 도메인/아카이브/ httpdocs conf의 vhost.conf 어쩌면 내가 추가 할 수 있습니다 [을 DocumentRoot "/ var에/www/vhosts/mag/httpdocs "]를 /subdomain/archive/conf/vhost.conf로 변경하십시오. –

1

예, 바로 mod_rewrite를, 철을 사용 :

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] 

는 불행하게도 redirecion는 지금까지 내가 기억하는 사용자에게 볼 수 있습니다.

0

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

내가 /var/www/vhosts/mag.org/subdomains/archive/vhost.conf

에 혼자 앉아, 필요한 모든이었다

각 vhost.conf가 이미 plesk로 구성된 가상 호스트로 구분되어 있기 때문에 virtualhost 솔루션이 mediatemple에서 작동하지 않았습니다.

모두에게 도움을 주셔서 감사합니다.