Apache ProxyPass仅适用于子域和文件夹
我想使用ProxyPass并仅应用于以下子域和文件夹: de.domain.com/blog/-> 我们的新页面将有多个子域(每个区域设置)。当我只使用此选项时:Apache ProxyPass仅适用于子域和文件夹,apache,Apache,我想使用ProxyPass并仅应用于以下子域和文件夹: de.domain.com/blog/-> 我们的新页面将有多个子域(每个区域设置)。当我只使用此选项时: ProxyPass /blog/ http://blog.olddomain.com/de/ ProxyPassReverse /blog/ http://blog.olddomain.com/de/ 所有子域都在使用该规则。所以我的问题是,我如何告诉ProxyPass只在de.domain.com/blog/上应用这个,而不在en
ProxyPass /blog/ http://blog.olddomain.com/de/
ProxyPassReverse /blog/ http://blog.olddomain.com/de/
所有子域都在使用该规则。所以我的问题是,我如何告诉ProxyPass只在de.domain.com/blog/
上应用这个,而不在en.domain.com/blog/
上应用这个
谢谢大家! 第一个选项是拆分VirtualHost配置,首先为
de.domain.com
提供单独的虚拟主机,其中将包括上述ProxyPass指令,然后为*.domain.com
提供另一个虚拟主机,不带ProxyPass:
<VirtualHost *:443>
ServerName de.example.com
ProxyPass /blog/ http://blog.olddomain.com/de/
ProxyPassReverse /blog/ http://blog.olddomain.com/de/
# Other directives here
</VirtualHost>
<VirtualHost *:443>
ServerName *.example.com
# Other directives here
</VirtualHost>
您是在
.htaccess
中使用它还是在apache配置文件中使用它?另外,什么是apache版本?在apache配置中。Apache/2.4.28谢谢你!所以当我添加这个:ProxyPass/blog/http://blog.olddomain.com/de/ ProxyPassReverse/blog/http://blog.olddomain.com/de/
这应该有效吗?我使用433是因为页面有SSL。或者我需要添加另一个虚拟主机吗?谢谢!我添加了您的代码,但它似乎与我使用的AWS上的Bitnami Wordpress Multisite不兼容。当我加上这些。VirtualHost条目,/blog/URL正在运行。。。但是所有其他URL都不再工作了,我得到了一个默认的Bitnami欢迎页面。只要您将所有现有的配置指令复制到两个虚拟主机,而不是#此处的其他指令
您的重写解决方案节省了我的时间,就不会干扰当前的设置!请记住(对于非常高的流量),使用[P]
标志的第二个解决方案可能会对性能产生一些影响
RewriteEngine On
RewriteCond %{HTTP_HOST} =de.example.com [NC]
RewriteRule /blog/(.*) http://blog.olddomain.com/de/$1 [NC,P,L]
ProxyPassReverse /blog/ http://blog.olddomain.com/de/