我从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问题。
答案 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中。