как определить несколько корневых документов в apache

как определить несколько корневых документов в apache

Я использую относительный путь к корню для всех ссылок в PHP-файлах, например «url(/img/myimj.jpg)».

На хост-сервере Godaddy это работает нормально.

Но я хочу запустить его на своем локальном хосте. (Ubuntu 9, Apache 2, PHP 5)

Например, мой сайт хранится в var/www/siteone, другой хранится в var/www/sitetwo,

а корневой каталог установлен на «var/www».

Теперь проблема в том, что href="/" ссылается не на var/www/siteone, а на var/www/.

Есть ли способ определить разные корневые папки документов для разных сайтов?

Я только начинающий веб-разработчик и не уверен, справится ли с этим виртуальный хост.

Может ли кто-нибудь объяснить это?

Спасибо за ваши ответы.

Мне нужно добавить новый виртуальный хост в этот файл /etc/apache2/sites-available/default

Но я все еще не понимаю, как это сделать для localhost? IP и порт по умолчанию всегда 127.0.0.1:80

решение1

Каждый <VirtualHost>раздел может иметь свою собственную DocumentRootдирективу.

решение2

Лично я часто использую VirtualDocumentRoot:
http://httpd.apache.org/docs/2.0/mod/mod_vhost_alias.html#virtualdocumentroot

С помощью этой директивы вы можете сделать, например:

VirtualDocumentRoot /var/www/%-2/%-3/

%-2 — это «второй элемент справа», поэтому это exemple в exemple.com.
%-3 — это третий элемент справа, поэтому это foo в foo.exemple.com.

Затем вам просто нужно создать папки, соответствующие именам ваших хостов:
localhost/ будет:

/var/www/localhost/_/

Обратите внимание на _ там, где нет значения (я всегда создаю символическую ссылку типа _ -> www)

Таким образом,
www.site1.com будет /var/www/site1/www/
www.site2.com будет /var/www/site2/www/
localhost будет /var/www/localhost/_/

тогда развлекайтесь с символическими ссылками :-)

Связанный контент