1 votes

Exception concernant les serveurs virtuels d'Apache

J'ai le fichier de configuration suivant sur ma machine Debian :

<VirtualHost *:80>
    ServerAdmin me@domain.tld

    VirtualDocumentRoot /var/workspace/www/%2_%3/%1

    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>

    <Directory /var/workspace/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Ce qui est génial pour l'automatisation - je crée simplement un répertoire dans un chemin spécifique et le domaine commence à fonctionner.

Mais parfois j'ai besoin de lancer des applications, qui ont des docroots ailleurs (typiquement www dir ou autre), comment puis-je spécifier ces VirtualHosts et continuer à travailler avec les anciens VirtualHosts automatiques ?

Lorsque j'ajoute, par exemple, ceci :

<VirtualHost *:80>
  ServerName www.phabricator.com.local
  DocumentRoot /var/workspace/www/phabricator_com/www/webroot

  RewriteEngine on
  RewriteRule ^/rsrc/(.*)     -                       [L,QSA]
  RewriteRule ^/favicon.ico   -                       [L,QSA]
  RewriteRule ^(.*)$          /index.php?__path__=$1  [L,QSA]

  SetEnv PHABRICATOR_ENV custom/socialbakers
</VirtualHost>

Il achemine toutes les demandes sur /var/workspace/www/phabricator_com/www/webroot et ignore les autres vhosts (mentionnés ci-dessus).

Pourquoi ?

1voto

naveen Points 7757

Assurez-vous d'avoir activé la directive pour autoriser les hôtes virtuels nommés. Je veux dire :

NomVirtualHost *:80

... dans votre fichier /etc/httpd/conf/httpd.conf.

0voto

Max Kochubey Points 1171

Êtes-vous sûr d'avoir fourni le bon nom après ServerName ? Je veux dire, ça se termine par .local ; c'est ce que la requête HTTP Host contient ? S'il y a Host de la requête HTTP ne correspond à aucun des serveurs virtuels par nom (ou si la requête n'a pas d'en-tête Host ), le premier serveur virtuel sera utilisé.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X