掩码的html重定向到php保持unmasked

时间:2014-11-19 17:54:55

标签: php html redirect

我从HTML网站A重定向到PHP网站B,重定向工作正常,但网站B的网址是IP:PORT,我想保留网站A的网址。

尝试了几种选项,我发现了Google搜索屏蔽重定向'比如框架和iframe,但是网站B的IP:PORT总是在重定向后显示,所以重定向工作,但是屏蔽没有。

我测试了从同一个HTML网站A到HTML网站C的重定向,并且重定向和掩码都完全按照我的意愿工作。

在网站B的.htaccess中尝试了几个选项(不确切知道如何),但所有尝试都会导致服务器错误。

站点B在Windows / Apache下运行,它是一个开源云服务,包括Apache安装,因此我必然会使用这种组合。

对我来说似乎是一个Apache PHP问题。

2 个答案:

答案 0 :(得分:0)

如果www.siteA.com和www.siteB.com位于不同的主机上,那么在浏览器的URL地址栏中提供www.siteB.com上获取内容的唯一方法是www.siteA .com是代表浏览器请求内容的。

您可以通过使用apache或iframe设置代理来执行此操作。

<!doctype html>
<html>    
  <head>
    <title>My Site</title>
    <style type="text/css">
      body {margin:0;}
      iframe { padding:0; border:0; position:absolute; width:100%; height:100%; }
    </style>
   </head>    
   <body>
     <iframe src="http://www.example.com/"></iframe>
   </body>
 </html>

如果使用apache,您需要访问www.siteA.com域的vhost配置:

ProxyPassMatch ^(.*)$ http://www.siteB.com$1

请查看mod_proxy文档,了解有关可以传递此指令的标志的更多信息,以调整超时和重试。

http://httpd.apache.org/docs/2.2/mod/mod_proxy.html

如果你想设置一个php脚本来代理,你可以在你的www.siteA.com文档根目录中的.htaccess文件中添加(假设这个php脚本名为redirect_proxy.php):

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/redirect_proxy.php
RewriteRule ^(.*)$ /redirect_proxy.php?url=$1 [L,QSA]

然后在redirect_proxy.php中,查找url查询字符串,加载该页面并将其输出到浏览器。

答案 1 :(得分:0)

如果我理解你正在尝试做什么,我相信浏览器开发人员会竭尽全力阻止这类事情,以便人们不能假装自己不是。

如果您控制这两个站点,并且这些道德/法律问题没有影响 - 您是否考虑过站点A上的大型iFrame来包含所有站点B? iFrame可以在display:none div中,或以其他方式隐藏,然后在“重定向”的时候,你可以用iframe显示div,必要时隐藏其他内容,并更改url iFrame通过javascript(或者已经通过iframe的原始src属性加载)。

或者,您可以在ajax调用中获取数据并将其弹出到页面上现有元素的innerHTML中。