2011-08-26 17 views
10

(yani) aynı sunucuda çalışan iki uygulama var ve bir url alt yolun servis istiyorum:Apaçi takma sanal konak

  • foo.com ->/var/www/foo
  • foo.com/bar ->/var/www/bar ben bir takma ad yapmaya çalışıyorum ama çalışmıyor

:

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    ServerName foo.com 
    DocumentRoot /webapps/foo/current/public 
    <Directory /webapps/foo/current/public> 
    AllowOverride all 
    Options -MultiViews 
    </Directory> 
    RailsEnv staging 
    Alias /blog /webapps/blog/current 
<Directory /webapps/blog/current> 
    allow from all 
    Options +Indexes 
</Directory> 

Bunun neden çalışmadığını biliyor musunuz?

Ayrıca sunucu yolu yönergesini hiçbir başarıda denemedim.

Bunu nasıl başardığını biliyor musunuz?

Şimdiden teşekkürler.

+2

sizin virtualhost hiç çalışıyor mu? Eğer 'www.' üzerinden etki alanına erişmeniz gerekiyorsa, orada bir' ServerAlias ​​www.foo.com 'adresine ihtiyacınız olduğunu söyleyebilirim ... – DaveRandom

+0

Ayrıca, herhangi bir uygulama' mod_rewrite kullanıyor mu? 'ing? – DaveRandom

+0

Üzgünüm, aslında adres www. Bunu yazıya sabitledim. Virtualhost çalışıyor, ona erişebiliyorum, ama eğer/bloglara gidersem/hiçbir şey yapmaz. Her iki uygulama da .httaccess içinde mon_rewrite var – Rafael

cevap

3

kullanın AliasMatch yerine Alias:

AliasMatch ^/bar/?(.*) /var/www/bar/$1 

Ya senin durumunda:

AliasMatch ^/blog/?(.*) /webapps/blog/current/$1 
0

Eğer başka bir uygulama için bar.foo.com gibi başka ayrı alt alan kullanarak düşündünüz mü? İşte

ayarlamıştın bütçeyi nasıl:

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/foo 
    ServerName foo.com 
    ServerAlias foo.com www.foo.com 
    ErrorLog logs/foo.com_Error_Log 
</VirtualHost> 
<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/bar 
    ServerName bar.foo.com 
    ErrorLog logs/bar.foo.com_Error_Log 
</VirtualHost>