web-dev-qa-db-fra.com

Indiquez à Apache de désigner un sous-dossier comme point de départ par défaut pour le public

Quelles seraient les différentes méthodes pour dire à Apache de servir httpdocs/public au lieu de httpdocs comme point de départ par défaut?

Je veux pouvoir avoir mes répertoires includes et logs derrière le dossier accessible au public.

Je sais que htaccess est possible, mais j’ai déjà vu un fichier qui ressemblait à quelque chose comme httpdocs => public… je pouvais être éteint, mais c’était une sorte de pointeur.

[httpdocs]
-[includes]
-[logs]
-[public] <-- what's served up to the public
--index.php
2
dcolumbus

Dans votre fichier de configuration Apache, recherchez une ligne avec 'DocumentRoot' et modifiez-la en conséquence.

MODIFIER:

En ce qui concerne votre commentaire, alors vous recherchez ceci:

DocumentRoot httpdocs/public/

Bien que pour la demande virtual-hosts,

<VirtualHost *:80>
        ServerAdmin [email protected]
        ServerName www.sitename.com
        DocumentRoot /var/www/sitename #STILL DOCUMENTROOT!!!
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/sitename/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        ErrorLog /var/log/Apache2/error_sitename.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/Apache2/access_sitename.log combined

</VirtualHost>

Notez que, malgré tout, il utilise la directive DocumentRoot. Vous pouvez avoir autant de sites que vous le souhaitez. Modifiez les chemins pour correspondre au répertoire httpdocs/public, et je suppose que dans/public /, il y aura des répertoires pour d’autres hôtes virtuels?

Si ce n'est pas ce que vous vouliez, veuillez reformuler votre question.

3
ionFish