Назад | Перейти на главную страницу

Исправить неправильный порт Apache VirtualHost

Я установил 2 разных порта с поддоменом на каждый порт. Например: порт 8080 -> a.example.com и порт 8081 -> b.example.com. Но когда я пытаюсь открыть a.example.com:8081, браузер загружает веб-страницу b.example.com:8081 (но URL-адрес не меняется на b.example.com:8081) и наоборот. Как перенаправить на правильный порт / поддомен, если мы откроем a.example.com:8081, тогда он будет автоматически перенаправлен на a.example.com:8080 или, возможно, на b.example.com:8081?

Я использую Apache 2.4 и свой vshost:

<VirtualHost *:8080>
    ServerName a.example.com
    DocumentRoot D:/xampp/htdocs/a
</VirtualHost>

<VirtualHost *:8081>
    ServerName b.example.com
    DocumentRoot D:/xampp/htdocs/b
</VirtualHost>

Поскольку Apache не соответствует именованному хосту на этом порте, он обслуживает хост по умолчанию, который первым читается из файлов конфигурации (вот почему вы увидите файлы конфигурации с именем 00_default и т. Д.) - числовая часть устанавливает порядок сортировки )

Что вы можете сделать для своего варианта использования, так это указать именованный хост с «неправильным» именем для каждого порта, который имеет любой запрос, отправляющий перенаправление на правильную комбинацию имени и порта.