1

Я настроил Apache на моем домашнем веб-сервере; до сих пор у меня был только один веб-сайт, и он работал безупречно: я просто набрал свое имя хоста в браузере, и мой локальный веб-сайт появился бы.

Теперь мне нужно запустить несколько веб-сайтов, поэтому я создал несколько подкаталогов в папке /var/www . Я хотел бы продолжить доступ к ним, введя мое имя хоста, затем / и затем имя подпапки. Я попытался настроить различные виртуальные хосты, добавив эти строки кода для каждого виртуального хоста:

ServerName hostname/site1
DocumentRoot /var/www/site1

но всякий раз, когда я hostname/site1 я получаю страницу ошибки apache, а не домашнюю страницу site1 .

Есть ли какая-то другая строка конфигурации, которую я пропустил?

Обновить

Я удалил новые строки конфигурации и перевел файлы конфигурации в состояние по умолчанию, так как это должно работать автоматически без какой-либо конкретной конфигурации. Я все еще не могу получить доступ к подпапкам, набрав hostname/site1 .

2 ответа2

1

Директива 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

0

Виртуальные хосты полезны только при настройке нескольких доменных имен (или поддоменов). Здесь вы хотите получить доступ к своим веб-сайтам по тому же адресу, вы, вероятно, хотите вместо этого настроить Alias . Более того, если корневая папка вашего веб-сервера указывает на /var/www , вам не нужно ничего настраивать: просто поместите ваши веб-страницы в подкаталог, например, drupal должен позволить им получить доступ к your.domain.name/drupal

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .