_default_ VirtualHost se chevauchent sur le port 80

10

J'ai ajouté 2 hôtes virtuels à mon fichier de configuration apache2 comme ci-dessous:

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

J'ai ensuite eu l'erreur après avoir redémarré apache, je reçois:

[avertir] chevauchement VirtualHost par défaut sur le port 80, le premier a priorité

Recherche Google et ils ont dit de décommenter la ligne ci-dessous, donc je l'ai fait:

NameVirtualHost *:80

Redémarrez, et maintenant je ne reçois pas l'erreur, mais les deux sites vont sur le premier site.

exécutant Centos5. Comment résoudre ce problème?

David
la source

Réponses:

13

Vous voulez vraiment que NameVirtualHost ne soit pas commenté. Cela indique à votre serveur de serveur différents hôtes virtuels en fonction des noms Doman utilisés pour l'atteindre. C'est pourquoi vous voyez toutes les demandes aller sur le premier site lorsqu'il est supprimé.

Christopher Karel
la source
1
Oui, je l'ai fait et cela ne fonctionne toujours pas.
David
Ne sert-il pas correctement site2.com, même avec lui? Il semble vraiment que votre avertissement indique simplement que votre premier VirtualHost est le site par défaut pour les noms inégalés. C'est essentiellement le fonctionnement des hôtes virtuels.
Christopher Karel
1
Après avoir décommenté cette ligne, je ne reçois pas d'avertissement et les deux sites vont toujours sur site1
David
Est-il possible que votre navigateur vient de mettre en cache le contenu de site1 sous le domaine de site2? Essayez de vider votre cache ou d'effectuer une actualisation appropriée. (ctrl + F5)
Christopher Karel
1

J'ai déjà résolu ce problème avec CWP

allez simplement dans /usr/local/apache/conf/sharedip.conf

vérifiez ce put * dans votre serveur ip

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

allez ensuite dans /usr/local/apache/conf.d/vhost.conf et assurez-vous que chaque virtualhost ressemble à ceci

# vhost_start chango.com.ve
<VirtualHost *:80>
ServerName yourdomain.ltd
ServerAlias www.yourdomain.ltd
ServerAdmin [email protected]
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

cela fonctionne pour moi!

luis macayo
la source