我在远程服务器上托管的博客比我们的前端托管。我想将http://domain.com/blog指向http://blog.domain.com,这是我们当前博客所在的位置(虚拟主机通向另一台计算机)。
我已经尝试了几种方法来做到这一点,但无济于事:
<Location "/blog">
# Blog proxy
ProxyPreserveHost On
ProxyPass /blog http://blog.domain.com # with/without /blog
ProxyPassReverse /blog http://blog.domain.com # with/without /blog
</Location>
也在<Location>
之外:
# Blog proxy
ProxyPreserveHost On
ProxyPass /blog http://blog.domain.com
ProxyPassReverse /blog http://blog.domain.com
还尝试使用/不使用尾部斜杠。
无法让它发挥作用。
我确保http://domain.com/根目录中的.htaccess
忽略了使用$/?blog
指向RewriteCond %{REQUEST_URI} !^/?blog
的任何重写符号,但仍然没有。我刚拿到404.该目录不应该存在,是吗?
有什么想法吗?谢谢!
答案 0 :(得分:0)
要创建这样的重定向,您需要配置apache2虚拟主机代理以侦听blog.example.com并将请求传递给http://example.com/blog
您可以这样操作:
<VirtualHost *:80>
ServerName blog.example.com
ProxyPreserveHost On
ProxyPass / http://example.com/blog
ProxyPassReverse / http://example.com/blog
</VirtualHost>
注意:您需要为apache2(sudo a2enmod proxy
)启用代理模块。启用模块(sudo service apache2 restart
)后,需要重新启动apache2。