404页面处理、网址改变、多个网站地址等;
本质上就是将当前使用者的网址从一个网址导向到另外的一个网址上面去;
实现重定向的方式有很多种,有服务器端配置、后端程序重定向处理、前端js重定向;
前端重定向的实现:
在众多的BOM对象中,location算是最重要的对象之一了,使用location可以通过多种方式来改变浏览器的位置,如:
location.assign("http://www.baidu.com")
window.location="http://www.baidu.com"
location.href="http://www.baidu.com"
另外修改location对象的其他属性也可以改变当前加载的页面。
这样无法实现,因为重定向是在服务器端实现的,而弹出对话框是在客户端实现的,所以这样不能实现。可以在客户端重定向Response.Write("<script>location.href='url'alert('')________</script>")
301 重定向是来自服务器端的响应,所以只有通过对服务器进行设置或者通过服务器的脚本语言来实现。以 apache 为例,可以通过配置 .htaccess 文件实现,添加语句如下:redirect 301 /i.js xxx.domainB.com/2.js
脚本语言的实现以 php 为例,实现语句如下:
header('Location: xxx.domainB.com/', true, 301)
exit
而其他如 javascript 的跳转和 meta 标签的跳转确切来说应该都不属于页面永久定向(即 301 重定向)。
不过有一种方法可以通过 javascript 来实现 301 重定向,即用 javascript 将需要重定向的页面信息存入 cookie 中,然后 php 通过读取 cookie 来判断是否进行 301 重定向,但是这种方法还是离不开后端的支持。