首页 > 编程知识 正文

浏览器重定向怎么解决,域名跳转到指定页面

时间:2023-05-04 23:17:22 阅读:115834 作者:3850

如果网站地址发生更改,则必须将旧域名301重定向到新的URL地址。 实际上,将旧地址的访问请求重定向到新域名。 301永久重定向对用户和搜索引擎都比较友好,对SEO完全没有坏处。 通过旧网站的关键字排行榜和宣传排行榜传达给新网站。 站点将重命名域名,并使用域名301永久地通知搜索引擎已迁移到新域名,以防止搜索引擎找到页面。 网站对搜索引擎比较友好。

重定向的好处有利于用户体验和搜索引擎的获取,301重定向跳转有利于搜索引擎,增加域名权重,有利于网页收录优化、网页宣传发布,促进搜索引擎的优化效果如果使用301重定向将地址指向新域名,搜索引擎将只索引新域名,并将旧地址的原始链接移动到新域名下。 正确使用的301永久重定向生命对排名没有任何影响。

一、域名301重定向在什么情况下使用

1、网站域名发生变化时,使用301永久重定向将旧域名重定向为新域名,恢复关键字排名和流量丢失。

2、由于某些原因需要删除网站中的单个目录,如删除山顶云建站一级导航。 在这种情况下,可以使用301永久重定向到网站首页。

3、多个域名需要指向同一网站时,打算实现网站标准化,301永久重定向即可实现。

二、http中重定向和请求转发的差异(包括JS跳转方法) )。

很简单。 重定向是客户端行为,传输是服务器端行为。 传输是第一个请求,重定向是第二个请求,传输地址栏保持不变,重定向地址栏更改,传输到项目中,重定向可以移动到项目之外。 使用传输时,JSP容器使用内部方法调用目标页,新页继续处理相同的请求。 浏览器不识别这个过程。 相反,重定向方案的含义是第一页通知浏览器发送新的页面请求。

1、调用方法你知道,通过servlet调用转发、重定向的语句如下。

request.getrequest dispatcher (' new.JSP ' ).forward(request,response ); //new.JSP response.sendredirect (' new.JSP ' )转发; 您还可以看到,重定向到new.jsp的jsp页也通过以下方式实现了传输: 当然,也可以在jsp页上实现重定向。

2、本质区别

简单来说,重定向是客户端的行为,传输是服务器端的行为。 为什么,这需要看两种行为的工作流程:

传输过程:客户端浏览器发送http请求-----web服务器接受此请求----调用内部的一种方法在容器内部完成请求处理和传输动作----目标其中,传输路径必须是相同web容器下的url,不能传递到其他web路径,中间传递的是自己的容器中的请求。 客户浏览器的路径栏中还会显示最初访问的路径。 也就是说,客户不觉得服务被转发了。 传输行为是浏览器只请求访问一次。

重定向步骤:“客户浏览器发送http请求--- -”web服务器收到后发送302状态代码响应,并发送到客户浏览器以支持新的位置- -” 自动重新发送新的http请求,请求url是新的位置地址----"服务器根据此请求查找资源并发送给客户。 其中,location可以重定向到任何URL,但既然浏览器重新提交了请求,request传递的概念就不多了。 客户浏览器的路径栏显示重定向路径,客户可以看到地址的变化。 重定向行为是浏览器请求至少两次访问的行为。

解释2

重定向,实际上是两次请求,

第一次,客户端请求a,服务器响应,响应返回,告诉浏览器,你应该去b。 这个时候,IE可以看到地址发生了变化。 然后,历史的倒退按钮也点亮了。 重定向可以访问自己web APP应用程序以外的资源。 在重定向过程中传输的信息将会丢失。 例如,response.sendredirece (" log in sucess.JSP " )请求传输是将对一个request/response的处理权限传递给服务器中的另一个服务器

对客户来说,只知道自己最初要求的a,不知道中间的b,甚至c、d。 传输的信息不会丢失。

示例:

//requestdispatcherdis=request.getrequest dispatcher (“log in success”)

//dis.forward (请求,响应) :

前言

html,js可以实现页面跳转。

jsp、asp和php也有各自的页面跳转和重定向方式。

以下总结了js和jsp的页面跳转实现方法。

html页面跳转方式

可以使用html元标记实现页面跳转。

[html]view plaincopy

1.

2.html公共'-//W3C//dtdh

TML 4.0 Transitional//EN">

3.

4.

5.New Document

6.

7.

8.

10.

11.

12.

13.This is Test Page

14.

15.

这种用法比较常使用在:

新旧系统升级的状况下, 暂时保留旧系统,通过域名进入时自动转到新系统中。

JS 页面跳转方式

1. 使用window.location = "newurl"

[html]view plaincopy

1.

2.HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

3.

4.

5.New Document

6.

7.

8.

9.

10.

11.This is Test Page.

12.

15.

16.

也可以使用 window.location.href = "http://www.yinxi.net";

2. 使用 window.navigate

[html]view plaincopy

1.

3.  window.loction.replace方式实现页面跳转

有3个jsp页面(1.aspx, 2.aspx, 3.aspx),进系统默认的是1.aspx,当我进入2.aspx的时候, 2.aspx里面用window.location.replace("3.aspx");

与用window.location.href ("3.aspx");

从用户界面来看是没有什么区别的,但是当3.aspx页面有一个"返回"按钮,调用window.history.go(-1); wondow.history.back();方法的时候,一点这个返回按钮就要返回2.aspx页面的话,区别就出来了,当用 window.location.replace("3.aspx");连到3.aspx页面的话,3.aspx页面中的调用 window.history.go(-1);wondow.history.back();方法是不好用的,会返回到1.aspx。

JSP跳转方式

JSP 跳转方式大约有三种:

1.response.sendRedirect(“newurl”);

-- 此语句前不允许有out.flush(),如果有,会有异常:

java.lang.IllegalStateException: Can't sendRedirect() after data has committed to the client.

at com.caucho.server.connection.AbstractHttpResponse.sendRedirect(AbstractHttpResponse.java:558)

--跳转后浏览器地址栏变化

--如果要跳到不同主机下,跳转后,此语句后面的语句会继续执行,如同新开了线程,但是对response的操作已经无意义了

如果要跳到相同主机下,此语句后面的语句执行完成后才会跳转;

2. response.setHeader("Location","newurl");

[html]view plaincopy

1.response.setStatus(302);

2.response.setHeader("location","newurl");

这种使用方式要结合 setStatus(302),  302 这个状态码就是告诉浏览器要重定向了。

1.此语句前不允许有out.flush(),如果有,页面不会跳转。

2.跳转后浏览器地址栏变化

3.此语句后面的语句执行完成后才会跳转

此语句前不允许有out.flush(),如果有,会有异常:

跳转后浏览器地址栏不变,但是只能跳到当前主机下

此语句后面的语句执行完成后才会跳转

跳转后得路径变为当前路径,图片不是绝对路径将无法显示

举例:

整个简单的例子:  两个文件 a.jsp 和 b.jsp .

[html]view plaincopy

1.

2.

3.

4.pageEncoding="ISO-8859-1"%>

5.html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www2.w3.org/TR/html4/loose.dtd">

6.

7.

8.

9.Insert title here

10.

11.

12.Before: This is a.jsp!

13.

14.//response.sendRedirect("b.jsp");

15.

16.//response.setStatus(302);

17.//response.setHeader("location","b.jsp");

18.

19.%>

20.

21.

22.After: This is a.jsp!

23.

24.

对于jsp 而言, 就需要嚼一嚼Redirect 和 forward 的差别了。

就字面意思而已: Redirect 翻译成重定向, forward翻译成转发。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。