小白求助,关于用javascript实现网页跳转的问题
公司子公司要把一堆网站迁到我们的网络里,但是我们目前只有一个ip地址,为了让用户还是使用原来的地址去访问网站,我在公司网内建了一台跳转服务器,专门负责通过用户输入的地址来...
公司子公司要把一堆网站迁到我们的网络里,但是我们目前只有一个ip地址,为了让用户还是使用原来的地址去访问网站,我在公司网内建了一台跳转服务器,专门负责通过用户输入的地址来将这些网站跳转到内部服务器上。做完以后所有在浏览器中输入的网址全都能跳转到目标服务器,但是有一个客户的网站引用了我们一个网站的地址,这个引用的地址的格式是http://域名/selectfw.aspx?fwcode=(防伪码)&fwyzm=(验证码),根本不会将域名跳转到我们的外网IP+本网站对应的端口上。这是我的跳转脚本
<script type="text/javascript">
host = window.location.host;
if (host=='网站域名' ) ;
alert(host);
{
window.location.host='外网ip:映射端口';
}
</script>
中间的alert(host)是为了判断if语句有没有检查到host是那个域名,结果是我直接输入域名会跳出对话框提示域名是什么并且转向外网ip:映射端口,但是我要是登陆http://域名/selectfw.aspx?fwcode=(防伪码)&fwyzm=(验证码)直接就是该页无法显示,没有任何反应,我觉得是根本没有运行脚本。又试了这样:http://域名:映射端口/selectfw.aspx?fwcode=(防伪码)&fwyzm=(验证码)
在域名后面加上了映射端口,就可以正常打开了,实在不知道该怎么办了,请各位大神赐教。
还有另一个问题就是,跳转成功的网站,在地址栏里原来的域名都被改写成:外网ip:映射端口,影响了公司形象,有没有什么办法让域名还留在地址栏里,谢过各位了!!! 展开
<script type="text/javascript">
host = window.location.host;
if (host=='网站域名' ) ;
alert(host);
{
window.location.host='外网ip:映射端口';
}
</script>
中间的alert(host)是为了判断if语句有没有检查到host是那个域名,结果是我直接输入域名会跳出对话框提示域名是什么并且转向外网ip:映射端口,但是我要是登陆http://域名/selectfw.aspx?fwcode=(防伪码)&fwyzm=(验证码)直接就是该页无法显示,没有任何反应,我觉得是根本没有运行脚本。又试了这样:http://域名:映射端口/selectfw.aspx?fwcode=(防伪码)&fwyzm=(验证码)
在域名后面加上了映射端口,就可以正常打开了,实在不知道该怎么办了,请各位大神赐教。
还有另一个问题就是,跳转成功的网站,在地址栏里原来的域名都被改写成:外网ip:映射端口,影响了公司形象,有没有什么办法让域名还留在地址栏里,谢过各位了!!! 展开
1个回答
展开全部
先不说实现功能问题,你的代码都错了,if和alert那句应该调换,if那句再去掉;号,才可以!
还有端口问题window.location.host不包含端口window.location.port返回端口
你的另个问题绝对无解,如果浏览器可以修改地址栏而不跳转,那么钓鱼网站此不屌炸天了!
PS:不太明白题主想要个什么功能,1,你们子公司是有自己的服务器要用你们的域名。2,他们有域名没有网站。
如果是第一种情况:可以按照客户ip地址的地理位置来决定使用那个ip,不过因为服务器是分布式的,做起来比较麻烦,个人认为题主没有这个能力。这里有个简单的方法就是跳转到指定ip这样就跟题主的方法一样,但是域名绝对会变化。
如果第二种就比较简单只要让子公司将域名都解析到你们公司就行了!
情况太多手打太累!希望题主说清楚些!
还有端口问题window.location.host不包含端口window.location.port返回端口
你的另个问题绝对无解,如果浏览器可以修改地址栏而不跳转,那么钓鱼网站此不屌炸天了!
PS:不太明白题主想要个什么功能,1,你们子公司是有自己的服务器要用你们的域名。2,他们有域名没有网站。
如果是第一种情况:可以按照客户ip地址的地理位置来决定使用那个ip,不过因为服务器是分布式的,做起来比较麻烦,个人认为题主没有这个能力。这里有个简单的方法就是跳转到指定ip这样就跟题主的方法一样,但是域名绝对会变化。
如果第二种就比较简单只要让子公司将域名都解析到你们公司就行了!
情况太多手打太累!希望题主说清楚些!
更多追问追答
追问
我们子公司有几个服务器,转移到了我们的网络中,他们自己有域名,需要把域名指向我们唯一的一个ip上,所以需要一个ip的80端口去支持多个网站服务器的跳转,我又查了查,好像一开始的想法就错了,这个貌似可以通过阿帕奇的反向代理来实现,js代码貌似不太可靠,您了解反向代理吗,这个应该能实现的吧。
追答
你上面都没有说清楚是你们子公司服务器搬到你们的域网里面去了,我还以为是你们服务器一台运行几个站点呢!!不知道现在你想问怎么配置服务器(软件方面)呢还是怎么组建网络(硬件方面)!
我对软件比较了解,硬件方面不太熟悉!我就说下软件方面的
方向代理配置基本和添加子网站(虚拟主机)差不多!不会添加子网站请百度(使用时请先开启apache的虚拟主机功能,一般默认开启),以下操作都是在代理服务器上的操作的
1、开启Apache的proxy模块,不知道是不是所有Apache都编译了这个模块,放在我用的这个模块都是编译的
2、添加子网站(虚拟主机),添加的网站信息不变,目录信息变成代理信息,比如
Order deny,allow
Allow from all
ProxyPass / http://127.0.0.1:9000/
ProxyPassReverse / http://127.0.0.1:9000/
3、子公司域名都解析到你们公司固定ip上(等待dns刷新),重启测试
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询