Question

Je suis intéressé par, si je peux avoir des vhosts sur Apache avec des noms de domaine comme: http://something.com/something ou http:// {serveur-ip-adresse-ici} / quelque chose ?

J'utilise Apache 2.2.20 sur Ubuntu Server, c'est mon serveur domestique et je teste des trucs ici, je n'ai aucun serveur DNS ici et ce que j'ai n'est que l'adresse IP publique et un nom de domaine joint à partir de Ouvrez le service DNS.

Alors, qu'est-ce que j'ai fait:

  1. J'ai créé un nouveau fichier "démo" dans / etc / apache2 / sites-disponibles
  2. Je mets là-bas ceci (en réalité, il est copié avec des modifications de fichier par défaut):

    <VirtualHost *:80>
       ServerAdmin webmaster@localhost
       ServerName  {mydomain-here}/demo/
       DocumentRoot /vhosts/demo
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /vhosts/demo/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>
    
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>
    
    ErrorLog ${APACHE_LOG_DIR}/error.log
    
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn
    
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    
    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
    </VirtualHost>
    

  3. créé symbole symbolique dans / etc / Apache2 / Sites activé / Qui pointe sur / etc / Apache2 / Sites-Disponible / Démo

  4. créé /vhosts/demo/index.html fichier.

    Et maintenant ce que je reçois, c'est que quand je vais à {mon-domaine}, je vais à Vhost que j'ai créé, mais que le problème est que ce serveur me pointe ici dans tous les cas, non seulement {My-Domain} / Démo Je veux.

    En conclusion, je souhaite que je puisse créer différents hôtes virtuels et les attacher à des URL différentes qui auront la même URL de base, par exemple www.mydomain.com/vhost1, www.mydomain.com/vhost2, etc. / p>

    est-ce possible? Merci:)

Était-ce utile?

La solution

To start, the reason why it goes there is ANY case is cause you have you have a *:80 setting for your virtual host, so if nothing matches the request it uses the first virtual host entry

If I understand what you are trying to do it appears like you might just want to alias each 'virtual host'

What you are trying to do isn't quite a virtual host (at least what a virtual host is supposed to do), but you might be able to accomplish it by using alias feature of apache

Alias /vhost1 /whatever/folder/your/vhost1/site/is/at
Alias /vhost2 /whatever/folder/your/vhost2/site/is/at

So now whatever domain you use e.g. http://whatever.com/vhost1 or http://whatever.com/vhost2 The both of em will appear as separate sites

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top