我在网上彻底搜索了这个答案,没有运气。
我正在尝试编写执行以下操作的htaccess重定向:
重定向:
subdomain.DomainA.com
为:
DomainB.com/subdir/
但不更改地址栏中显示的网址,并保持直接链接访问subdomain.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]
,但由于某种原因,这会返回subdomain.DomainA.com/subdir :(
任何帮助将不胜感激!
答案 0 :(得分:0)
如上所述,当你使用[P]时,你正在有效地调用mod_proxy。您必须先使其工作,然后才能在重写规则中使用它。事实上,您是否为您尝试访问的主机启用了代理?
http://httpd.apache.org/docs/current/mod/mod_proxy.html#proxy
<Proxy http://DomainB.com>
Require all granted
</Proxy>
您可以增加LogLevel(和/或)RewriteLogLevel以帮助调试它无法正常工作的原因(如果代理拒绝在重写日志中或只是普通错误日志,我无法回忆)< / p>