我需要将我的域 www.abc.com 定向到 www.xyz.com/folder/form/并将参数传递给表单,但我需要屏蔽路径,以便当用户转到 www.xyz.com 时,他们看到的只是他们看到的以及URL中传递的任何参数。可能吗?我怎样才能做到这一点?
我不拥有这两个域名。我拥有 www.abc.com 和 www.xyz.com 中的文件夹,但不是裸域。域位于不同的服务器上。
我已经尝试了将DNS设置为*.abc.com 并将别名记录设置为www和 www.xyz.com 的解决方案。但是,CNAME不允许指向路径。如果我执行 301 或 302 转发,则域不会被屏蔽。我还能做什么。我已经为此倾注了好几天。
在不使用 DNS 设置的情况下实现 url 屏蔽的几种方法。
在服务器级别:设置反向代理。
如果您使用的是 apache,则可以使用名为mod_proxy
的模块。
启用模块后,将以下内容添加到abc
域根目录中的.htaccess
。
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://www.example.com/folder/form/
ProxyPassReverse / http://www.example.com/folder/form/
实现类似结果的另一种方法是,如下所示,它在引擎盖下做几乎相同的事情。
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www.)?abc.com$ [NC]
RewriteRule ^ http://www.example.com/folder/form/%{REQUEST_URI} [L,P]
在语言级别:使用像php
这样的脚本语言,然后使用curl
通过管道将数据传入和来回第二个域。有点混合了"中间人攻击"和"网络钓鱼"。但最重要的是,这几乎是可能的。
然后我们还有其他的磨机解决方案,例如使用<iframe>
等。