我要做的是如下:
因此,当用户访问 http://domainA.com/ 上的任何页面时 他应该被重定向到:http://domainB.com/?referer=http://domainA.com/
我一直在失败的是,在重定向之前检索用户来自的完整网址。
我尝试过的其中一件事悲惨地失败了:
RewriteRule ^(.*)$ http://domainB.com/?referer=%{HTTP_HOST}%{REQUEST_URI}
提前致谢!
编辑: 我试图让我的问题变得简单,因为更复杂的问题往往没有答案, 所以我会提出我的问题,虽然对原来的有一个很好的答案。
因此,要更具体地说明我正在努力实现的目标: 这两个域都托管在同一主机上,并指向完全相同的文件。 因此 domainA.com/file1.html 和 domainB.com/file1.html 将显示相同的文件。
我想要domainA做的是将所有请求传递给名为listener.php的文件。 所以对domainA的所有请求应该是这样的:
我希望此功能位于服务器端,以便网址保持正常。
我去了2个域名,因为我想避免重定向循环。
答案 0 :(得分:0)
您可以使用此规则:
RewriteCond %{HTTPS}s on(s)|
RewriteCond %{HTTP_HOST} ^(?:www\.)?domainA\.com$ [NC]
RewriteRule ^ http://domainB.com/?referer=http%1://%{HTTP_HOST}%{REQUEST_URI} [L,NE,R=302]
这会处理http://
和https://
个网址。
编辑:根据编辑过的问题,您可以使用:
RewriteCond %{HTTPS}s on(s)|
RewriteCond %{HTTP_HOST} ^(?:www\.)?domainA\.com$ [NC]
RewriteRule !^listener\.php$ /listener.php?actualRequest=http%1://%{HTTP_HOST}%{REQUEST_URI} [L,QSA]