Я новичок в этом и везде искал способ маршрутизации сервера, чтобы иметь возможность хранить 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).
Может кто-нибудь сказать мне, как это можно сделать? Спасибо.
Похоже, у вас все настроено правильно, за исключением вашего начального каталога.
Лучше всего перефразировать ваш вопрос. Это похоже на вашу ситуацию (если говорить с вашей точки зрения):
- иметь сайт по адресу
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, чтобы указанные выше изменения отражались в сервисе.
Других решений пока нет …