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

Решение

Похоже, у вас все настроено правильно, за исключением вашего начального каталога.

Лучше всего перефразировать ваш вопрос. Это похоже на вашу ситуацию (если говорить с вашей точки зрения):

  1. иметь сайт по адресу http://machine.domain.com
  2. Я хочу установить /var/www/html как мой каталог по умолчанию
  3. Я хочу установить 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, чтобы указанные выше изменения отражались в сервисе.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]