Apache, могу ли я иметь несколько documentRoot? - PullRequest
2 голосов
/ 11 октября 2011

Я создаю веб-сайт Zend. Проект (локальный) имеет следующую структуру:

/app
  /controllers
  /views

  /public
   /css
   /images
   /js
   .htaccess
   index.php

Поскольку файлы .htaccess и index.php находятся в общем каталоге, общий каталог должен бытьидентифицируемый apache как корневой и корневой каталог документов сайта.

Итак, мне нужно отредактировать «DocumentRoot из c: / wamp / www / в c: / wamp / www / my-zend-app / public» внутри файла httpd.conf.Но если я сделаю это, я не смогу достучаться до других моих проектов внутри "c: / wamp / www /" .. могу ли я сохранить оба documentRoots?

РЕДАКТИРОВАТЬ Я пытался с комментариемhttpd.conf строка о "httpd-vhost.conf" и отредактировал файл:

[httpd-vhost.conf]

<VirtualHost *:80>
ServerAdmin webmaster@dum.com
DocumentRoot "C:\wamp\www\my-zend-app\application\public"
ServerName website.loc
ErrorLog "C:\wamp\www\my-zend-app\application\public\error.log"
CustomLog "C:\wamp\www\my-zend-app\application\access.log" common
</VirtualHost>

сразу после редактирования файла хоста Windows добавив:

127.0.0.1 website.loc

но он не работает. Я использую WAMPSERVER 2.1

Ответы [ 2 ]

3 голосов
/ 11 октября 2011

Добавьте директиву <Directory> к вашей директиве <VirtualHost> для нового корня документа

<VirtualHost *:80>
    ...
    <Directory "C:/wamp/www/my-zend-app/application/public">
        Options Includes Indexes FollowSymLinks
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
0 голосов
/ 11 октября 2011

Создайте второй виртуальный хост, используя другой порт или с помощью ServerName (и отредактируйте файл hosts для локального разрешения.

Более простой способ - просто использовать разные виртуальные хосты на разных портах, но не забудьте также добавить Listen yourPort восновной конфиг, чтобы заставить Apache прослушивать этот порт тоже.

...