2016-01-21 2 views
1

J'utilise DNSMasq pour cette configuration. J'ai des problèmes avec Alias, car cela ne fonctionne pas du tout pour les hôtes virtuels dynamiques. Et il n'y a rien de tel que VirtualAlias dans la documentation Apache.Hôte virtuel dynamique avec alias dynamique

Je suis en train de configurer mon nouvel environnement comme je l'ai déjà fait pour .dev tld, mais j'ai des problèmes, car cela nécessite plus de configuration. Voici le document virtuel .dev entièrement fonctionnel.

<VirtualHost *:80> 
    ServerAlias *.dev 
    UseCanonicalName Off 
    VirtualDocumentRoot "/Users/nn/Sites/%1" 
</VirtualHost> 

est ici configuration entièrement fonctionnel pour un projet unique dans le nouvel environnement que je suis en train d'installer pour tous les projets VirtualDocumentRoot.

<VirtualHost *:80> 
    DocumentRoot "/Users/nn/Sites/BaseApp/app" 
    ServerName base.app 

    Alias /scripts "/Users/nn/Sites/BaseApp/.tmp/scripts" 
    Alias /styles "/Users/nn/Sites/BaseApp/.tmp/styles" 

    <Directory "/Users/nn/Sites/BaseApp/.tmp"> 
     Options FollowSymLinks Multiviews 
     Order allow,deny 
     Allow from all 
     Require all granted 

     ErrorDocument 403 /403.php 
     ErrorDocument 404 /404.php 
     ErrorDocument 500 /500.php 
    </Directory> 
</VirtualHost> 

Et voici la tentative de le recréer pour tous les projets qui peuvent utiliser un nouvel environnement. (celui que je besoin d'aide avec)

<VirtualHost *:80> 
    ServerAlias *.app 
    UseCanonicalName Off 
    VirtualDocumentRoot "/Users/nn/Sites/%1/app" 

    Alias /scripts "/Users/nn/Sites/%1/.tmp/scripts" 
    Alias /styles "/Users/nn/Sites/%1/.tmp/styles" 

    <Directory "/Users/nn/Sites/%1/.tmp"> 
     Options FollowSymLinks Multiviews 
     Order allow,deny 
     Allow from all 
     Require all granted 

     ErrorDocument 403 /403.php 
     ErrorDocument 404 /404.php 
     ErrorDocument 500 /500.php 
    </Directory> 
</VirtualHost> 

Il est accessible, mais il recherche scripts et styles dans le dossier app, donc sûrement Alias ne fonctionne pas. Des conseils, je suis désemparé?

+0

Est "configuration entièrement fonctionnelle" et "celui que je dois aider à" courir à la temps? Quelle version d'Apache? –

+0

Ne fonctionne pas en même temps. Version serveur: Apache/2.4.16 (Unix) – dvLden

Répondre

1

Après une recherche longue de 3 jours et cette question que personne ne donnait réponse à, je me suis suivant:

  • Alias - Ne fonctionne pas pour VirtualDocumentRoot mais DocumentRoot seulement.
  • AliasMatch - Ne fonctionne pas pour VirtualDocumentRoot mais DocumentRoot uniquement.

Par conséquent, ces deux (Alias et AliasMatch) ne sont pas disponibles pour une utilisation lors de la création des hôtes dynamiques.

Je mettrai à jour cette réponse si cela se résout en quelque sorte avec mode_rewrite car cela semble être la seule solution. Si tout va bien Apache crée:

  • VirtualAlias
  • VirtualAliasMatch

Un jour dans un avenir proche ...

+0

J'ai le même problème. Y a t-il des mises à jour? – MaBi