Hôtes virtuels sur Apache avec des sous-dossiers comme des URL
-
14-11-2019 - |
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:
- J'ai créé un nouveau fichier "démo" dans / etc / apache2 / sites-disponibles
-
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>
-
créé symbole symbolique dans / etc / Apache2 / Sites activé / Qui pointe sur / etc / Apache2 / Sites-Disponible / Démo
-
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:)
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