我已经在网上彻底搜索了这个问题的答案,没有任何运气。
我正在尝试编写一个htaccess重定向,它可以执行以下操作:
重定向:
subdomain.DomainA.com
至:
DomainB.com/subdir/
但不更改地址栏中显示的URL,也不保留访问子域的直接链接。DomainA.com
因此subdomain.DomainA.com/link/1000
变为DomainB.com/subdir/link/1000
这是我最接近的一次,但我还没能确定
RewriteEngine on
RewriteCond %{HTTP_HOST} ^subdomain.DomainA.com$
RewriteRule ^(.*)$ http://DomainB.com%{REQUEST_URI} [P]
我也尝试过RewriteRule ^(.*)$ http://DomainB.com/subdir%{REQUEST_URI} [P]
,但它返回子域。DomainA.com/subdir,原因如下:(
任何帮助都将不胜感激!
如上所述,当您使用[p]时,实际上是在调用mod_proxy。在重写规则中使用它之前,您必须使它发挥作用。事实上,您是否为要访问的主机启用了代理?
http://httpd.apache.org/docs/current/mod/mod_proxy.html#proxy
<Proxy http://DomainB.com>
Require all granted
</Proxy>
您可以增加LogLevel(和/或)RewriteLogLevel来帮助调试它不工作的原因(我记不起代理拒绝是在重写日志中还是只是普通错误日志)