web-dev-qa-db-fra.com

Rediriger vers un sous-dossier dans le fichier hôte virtuel Apache

J'ai installé Joomla sur un serveur Web exécutant Ubuntu Server 12.04. Le dossier Joomla se trouve dans/var/www/cms /.

Mon fichier vhost dans/etc/Apache2/sites-enabled/default a le contenu suivant:

<VirtualHost *:80>
    ServerName domain.com/
    Redirect permanent / https://domain.com/
</VirtualHost>

<VirtualHost *:443>
    ServerAdmin webmaster@localhost
    ServerName domain.com:443

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

    (...)
</VirtualHost> 

À l'heure actuelle, toutes les demandes adressées à domain.com et tout ce qui est entré après cela, comme domain.com/example, sont dirigées et traitées par Joomla qui redirige vers une page appropriée ou renvoie une erreur 404 personnalisée. Tout cela fonctionne.

Maintenant, je voudrais filtrer toutes les demandes qui vont à domain.com/subfolder avant qu'elles ne soient traitées par Joomla et les rediriger vers/var/www/sous-dossier (au lieu de mon dossier racine dans/var/www/cms /).

Je pense que le fichier dans/etc/Apache2/sites-enabled/default (vu ci-dessus) est le bon endroit pour définir une telle redirection, mais je n'ai pas été en mesure de déterminer à quelle position et comment y parvenir.

18
ojs

Vous devez ajouter à votre configuration:

Alias /subfolder /var/www/subfolder
<Directory /var/www/subfolder>
    Order allow,deny
    allow from all
</Directory>

et adapter la configuration entre "Annuaire" à vos besoins.

Voir documentation Apache pour avoir plus d'informations.

27
Vincenzo Petrucci