80 numaralı bağlantı noktasında VirtualHost çakışması


10

Aşağıdaki gibi apache2 conf dosyama 2 sanal ana bilgisayar ekledim:

<VirtualHost *:80>
    DocumentRoot /var/www/html/site1
    ServerName www.site1.com
    ServerAlias site1.com
</VirtualHost>


<VirtualHost *:80>
    DocumentRoot /var/www/html/site2
    ServerName www.site2.com
    ServerAlias site2.com
</VirtualHost>

Sonra ben olsun apache yeniden başlattıktan sonra hata var:

[uyar] bağlantı noktası 80'de varsayılan VirtualHost çakışması, ilki önceliğe sahiptir

Google'da arama yaptılar ve aşağıdaki satırı açacaklarını söylediler, bu yüzden yaptım:

NameVirtualHost *:80

Yeniden başlatın ve şimdi hatayı almıyorum, ancak her iki site de ilk siteye gidiyor.

çalışan Centos5. Bu sorunu nasıl düzeltirim?

Yanıtlar:


13

Kesinlikle NameVirtualHost uncommented istiyorum. Bu, sunucunuza, kendisine ulaşmak için kullanılan Doman Adlarına göre farklı sanal ana bilgisayarları sunucuya bildirmesini söyler. Bu nedenle, kaldırıldığında tüm isteklerin ilk siteye gittiğini görürsünüz.


1
Evet, bunu yaptım ve hala çalışmıyor.
— David

Site2.com bile onunla düzgün bir şekilde sunulmuyor mu? Uyarınızın sadece ilk VirtualHost'unuzun eşsiz adlar için varsayılan site olduğunu belirttiği anlaşılıyor. Bu aslında Sanal Hosts nasıl çalışır.
— Christopher Karel

1
Bu satırı uncommented sonra, bir uyarı alamadım ve her iki site hala site1 gidin
— David

Tarayıcınızın site1'in site2'nin etki alanı altındaki içeriğini önbelleğe alması mümkün mü? Önbelleğinizi temizlemeyi veya uygun bir yenileme yapmayı deneyin. (ctrl + F5)
— Christopher Karel

1

Bu sorunu zaten CWP ile düzelttim

/usr/local/apache/conf/sharedip.conf adresine gitmeniz yeterlidir

ip sunucunuzda bu put * işaretleyin

NameVirtualHost *:80
<VirtualHost *:80>
    ServerName yourdomainserver.ltd
    DocumentRoot /usr/local/apache/htdocs
    ServerAdmin root@youremail.com
    <IfModule mod_suphp.c>
        suPHP_UserGroup nobody nobody
    </IfModule>
</VirtualHost>
<Directory "/">
        AllowOverride All
        Allow from all
        Order Deny,Allow
</Directory>

sonra /usr/local/apache/conf.d/vhost.conf adresine gidin ve her sanal ana makinenin böyle göründüğünden emin olun

# vhost_start chango.com.ve
<VirtualHost *:80>
ServerName yourdomain.ltd
ServerAlias www.yourdomain.ltd
ServerAdmin youremail@yourdomain.ltd
DocumentRoot "/home/yourdomain/public_html"
ScriptAlias /cgi-bin/ "/home/yourdomain/public_html/cgi-bin/
# 
# Custom settings are loaded below this line (if any exist)
# Include "/usr/local/apache/conf/userdata/yourdomain/yourdomain.ltd/*.conf    
</VirtualHost>^M
# vhost_end yourdomain.ltd

bu benim için çalışıyor!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.