у меня два домена
Домен A: www.fakedomain.com, это домен в клиенте, идея - это просто прокси для основного блога, когда URL-адрес http://www.fakedomain.com/blog
Домен B: www.mainblog.com, это должен быть мультисайтовый wordpress bloga.mainblog.com, blogb.mainblog.com и т. Д.
Я пытаюсь проксировать домен A в домен B, но я хочу сохранить исходное имя хоста (необходимое для wordpress), прокси работает нормально, но в php $ _SERVER ['HTTP_HOST'] покажите мне домен B (maindomain.com ) вместо fakedomain.com,
Я читал, что решение состоит в том, чтобы добавить ProxyPreserveHost On, но в тот момент, когда я его добавляю, сайт продолжает зацикливаться, пока Google Chrome не сломается,
Я, хотя, возможно, был вызван Wordpress, поэтому я удалил все файлы, и у меня есть только index.php в mainblog.com, но все еще зацикливается
<VirtualHost *:80>
DocumentRoot "d:/www/wp-multisite"
ServerName mainblog.com
ServerAlias *.mainblog.com
ErrorLog "logs/wpmultisite-error.log"
CustomLog "logs/wpmultisite-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerName www.fakedomain.com
<IfModule mod_proxy.c>
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://fake.mainblog.com/
ProxyPassReverse / http://fake.mainblog.com/
</IfModule>
ErrorLog "logs/fake-blog-error.log"
CustomLog "logs/fake-blog-access.log" common
</VirtualHost>
Apache также использует заголовок Host, чтобы определить, какой VirtualHost использовать. Сообщив mod_proxy о необходимости сохранения заголовка Host, apache всегда будет обслуживать запрос, используя второй VirtualHost. Это петля, которую вы видите. Чтобы решить эту проблему, вам нужно убедиться, что прокси-запросы не обслуживаются с использованием второго VirtualHost, хотя заголовок Host - www.fakedomain.com. Способ сделать это - добавить VirtualHost, подобный этому, в верхней части вашей конфигурации :
<VirtualHost 127.0.0.1:80>
DocumentRoot "d:/www/wp-multisite"
ServerName www.fakedomain.com
ServerAlias *.mainblog.com
ErrorLog "logs/wpmultisite-error.log"
CustomLog "logs/wpmultisite-access.log" common
</VirtualHost>
Затем используйте файл hosts, чтобы убедиться, что fake.mainblog.com разрешается до 127.0.0.1 на этом сервере. Оба вместе гарантируют, что mod_proxy использует 127.0.0.1 в качестве бэкэнда при сохранении заголовка хоста, а 127.0.0.1 с Host: www.fakedomain.com приведет к тому, что указанный выше VirtualHost будет использоваться для обслуживания запросов mod_proxy.