Was ist der Unterschied zwischen DocumentRoot und Directory in Apache2 für Mac OS X [geschlossen]

7

Ich stelle jetzt die virtuellen Hosts in meiner lokalen Umgebung unter Mac OS 10.9.2 ein. Ich kopiere dies aus einer anderen Konfiguration. Meine Frage ist, was ist der Unterschied zwischen DocumentRoot und Directory, müssen sie übereinstimmen? Muss ich Directory in meine VirtualHost-Konfiguration aufnehmen?

<VirtualHost *:80>
   DocumentRoot "/Users/memyselfandi/websites/prestashop16.dev"
   ServerName prestashop16.dev

   ErrorLog "/private/var/log/apache2/prestashop16.local-error_log"
   CustomLog "/private/var/log/apache2/prestashop16.local-access_log" common

   <Directory "/Users/memyselfandi/websites/workspace/dev">

                            AllowOverride All
                            Order allow,deny
                            Allow from all
    </Directory>

 </VirtualHost>
Mg Gm
quelle

Antworten:

11

DocumentRoot ist der Speicherort auf Ihrem Webserver, von dem aus der Webserver Dateien bereitstellt, wenn ein Benutzer http://prestashop16.dev/ besucht . Alle Ihre im Internet sichtbaren Dateien sollten sich auf oder unter der Ebene dieses Ordners befinden.

Mit dem Verzeichnisblock können Sie Apache-Konfigurationsregeln angeben, die nur für ein bestimmtes Verzeichnis gelten sollen.

Die beiden müssen nicht übereinstimmen, und ein <Directory>Block kann gemäß den Apache-Dokumenten in einem VirtualHost-Block oder in der allgemeinen Serverkonfiguration platziert werden.

Sie können auch mehrere Verzeichnisblöcke haben. Wenn Ihr DocumentRoot beispielsweise war var/wwwund Sie den Zugriff darauf einschränken möchten, können /var/www/privateSie einen <Directory /var/www/private></Directory>Block erstellen und Ihre gewünschten Sicherheitskonfigurationen dort ablegen, ohne andere Ordner zu beeinflussen.

Keith B.
quelle