.htaccess在不更改URL的情况下将子域A重定向到域B/子目录


.htaccess Redirect sub.DomainA to DomainB/Subdir Without Changing URL

我已经在网上彻底搜索了这个问题的答案,没有任何运气。

我正在尝试编写一个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来帮助调试它不工作的原因(我记不起代理拒绝是在重写日志中还是只是普通错误日志)