Apache не работает с несколькими сайтами в папке www
Я настроил Apache на моем домашнем веб-сервере; до сих пор у меня был только один веб-сайт, и он работал безупречно: я просто набрал свое имя хоста в браузере, и мой локальный веб-сайт появился бы.
Теперь мне нужно запустить несколько сайтов, поэтому я создал несколько подкаталогов в /var/www
папка. Я хотел бы продолжить доступ к ним, набрав мое имя хоста, а затем /
а затем имя подпапки. Я попытался настроить различные виртуальные хосты, добавив эти строки кода для каждого виртуального хоста:
ServerName hostname/site1
DocumentRoot /var/www/site1
но всякий раз, когда я печатаю hostname/site1
Я получаю страницу с ошибкой Apache, а не домашнюю страницу site1
,
Есть ли какая-то другая строка конфигурации, которую я пропустил?
Обновить
Я удалил новые строки конфигурации и перевел файлы конфигурации в их состояние по умолчанию, так как это должно работать автоматически без какой-либо конкретной конфигурации. Я все еще не могу получить доступ к подпапкам, набрав hostname/site1
хоть.
2 ответа
Директива ServerName предназначена только для указания имени хоста и порта. Косая черта в подкаталог не является частью имени хоста.
В вашем примере я предполагаю, что у вас может быть что-то в /var/www/site2
так же как /var/www/site1
, Для этой реализации вы хотели бы иметь:
ServerName hostname
DocumentRoot /var/www
Тогда вы могли бы получить доступ http://hostname/site1
а также http://hostname/site2
Чтобы получить субдомены, вы, вероятно, захотите взглянуть на виртуальные хосты на основе имен. Как правило, это включает в себя такие вещи, как subdomain.hostname, то есть test.example.org, который может указывать на / var / wwwtest и prod.example.org, который может находиться в / var / wwwprod. Как правило, вы должны убедиться, что субдомены находятся в разных путях, чтобы вы не могли попасть на один сайт с другого.
Этот предыдущий вопрос имеет пример реализации: настроить Apache для обслуживания нескольких поддоменов через HTTP + HTTPS
Виртуальные хосты полезны только при настройке нескольких доменных имен (или поддоменов). Здесь вы хотите получить доступ к своим сайтам по тому же адресу, который вы, вероятно, хотите настроить Alias
вместо. Более того, если корневая папка вашего веб-сервера указывает на /var/www
, у вас нет настройки: просто поместите ваши веб-страницы в подкаталог, например drupal
должен позволить им доступ к your.domain.name/drupal