Apache обслуживает 2 сайта на один домен с путем
Я новичок в этом, и я искал везде способ маршрутизации сервера, чтобы иметь возможность хранить 2 сайта по разным путям к одному домену. Большая часть справки, которую я нашел, касается использования виртуального хоста для нескольких доменов, поддоменов, IP-адресов и т. Д. Пока что ни один из них не подходит мне.
Итак, у меня есть последний стек Apache2
, PHP
, MySQL
на Debian-8
с 2 функциональными сайтами (базы данных, пользователи,... все в порядке), установленных в подпапках /html
:
crm_site в /var/www/html/crm (хранение php-скрипта для отслеживания проекта)
а также
wp_site в /var/www/html/wordpress (для хранения веб-сайта WordPress).
Я хочу иметь доступ к ним через единственный принадлежащий мне домен (например, www.example.com), который я уже настроил для доступа к своему серверу. Я надеялся, что мне нужно будет только добавить путь к своему домену (www.example.com/crm/index.php
или же www.example.com/wordpress/index.php
) и они будут обслуживаться, но независимо от того, что я добавлю после домена, браузер приведет к тому же месту, показывая список каталогов в формате html (то есть crm и wordpress).
Может кто-нибудь сказать мне, как это можно сделать? Спасибо.
1 ответ
Похоже, у вас все настроено правильно, за исключением вашего начального каталога.
Лучше всего перефразировать ваш вопрос. Это похоже на вашу ситуацию (если говорить с вашей точки зрения):
- иметь сайт по адресу
http://machine.domain.com
- Я хочу установить
/var/www/html
как мой каталог по умолчанию- Я хочу установить
index.php
как мой документ по умолчанию
Если вы посмотрите на свою проблему таким образом, она значительно упростится. Поисковая система может помочь вам в этом.
Для дальнейшего руководства, например, в поиске "apache set default directory" в Google ответ выделен жирным шрифтом. ... изменить корневой каталог Apache или переместить проект в /var/www/html
Вы уже сделали это, верно? Итак, 1. и 2. выше сделано. Если нет, посмотрите на следующее (что предполагает наличие пакета apache2 в Ubuntu последней версии. Я проверял это в контейнере Docker):
файл: /etc/apache2/apache2.conf
содержание:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Изменить выше /var/www/
в /var/www/html/
Далее .php
обслуживающий вопрос. Это контролируется директивой DirectoryIndex, на которую ссылаются здесь. Просмотр его содержимого показывает, что index.php включен по умолчанию.
пример:
root@b62dsa09327e:/# grep -rnw '/etc/apache2/' -e "DirectoryIndex"
/etc/apache2/mods-available/dir.conf:2: DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
Это позаботится о 3. И теперь у нас нет проблем в исходном вопросе.
Примечание: вам, возможно, придется прикрепить каталог к любому запущенному apache2, как в случае, если вы поместили туда файлы как root. Вам также придется перезапустить apache, чтобы указанные выше изменения отражались в сервисе.