Хотя я не использовал свое решение для проблем, точно таких же, как ваша, я подозреваю, что есть более простой и чистый способ, чем использование перезаписей.(ПРИМЕЧАНИЕ. Ниже предполагается, что внутренний DNS распознает ваш один сервер как IP-адрес для разрешения всех поддоменов. Если это не так, то это изменение, вероятно, должно быть сделано ... Я не знаю, что произойдет, если онне сделал, но я также никогда не настраивал обратный прокси ...)
Попробуйте следующее: -В httpd.conf @ конец убедитесь, что появляется следующая строка:
NameVirtualHost *:80
-Наконец добавьте VirtualHost для каждого * поддомена, например:
<VirtualHost *:80>
ServerName sub1.example.com
ServerAlias sub1
DocumentRoot "X:/path/to/website/for/internal.example.com"
</VirtualHost>
* ВАЖНОЕ ПРИМЕЧАНИЕ: вы можете использовать только ОДНУЮ запись виртуального хоста.Для этого попробуйте следующее:
<VirtualHost *:80>
ServerName internal.example.com
ServerAlias sub1.example.com
ServerAlias sub2.example.com
ServerAlias sub3.example.com
DocumentRoot "X:/path/to/website/for/internal.example.com"
</VirtualHost>
ОЧЕНЬ ВАЖНОЕ ПРИМЕЧАНИЕ: Это может работать не так, как с SSL (порт 443).Я бы не знал, так как я еще мало что сделал с виртуальными хостами и SSL.Чтобы правильно настроить SSL с использованием этого метода, прочитайте следующее: http://httpd.apache.org/docs/2.2/ssl/ssl_faq.html#vhosts2 ( summary , иногда делая выше, [который делает все то же самое, но с портом 443 вместо 80], будетработать, но, в зависимости от некоторых факторов, вы также можете просто захотеть сделать NamedVirtualHost 192.168.1.1:443 и, возможно, другие изменения конфигурации, как описано в статье).
Надеюсь, это поможет!