网页自动跳转 5种方法
网页自动跳转 5种方法 利用HTML标记(META中的REFRESH属性) 用HTML标记,就是用META的REFRESH标记,举例如下: meta http-equiv=refresh content="10;url=indexphp" 其中content=10是10秒钟后跳转 5种常见网页自动跳转方法 网页自动跳转,是指当用户访问某个网页时,被自动跳转到另一个网页中去。 网页自动跳转的主要作用是,当域名变更后,或者网站里的一个或多个网页被删除后,可以使用这种方式将用户引导到其它正常的网页中去,从而留住用户。 不过,现在有许多人利用网页自动跳转来进行作弊,欺骗搜索引擎,从而实现提高网站搜索引擎排名的目的。比较典型的方式是:先做一个“桥页”,当搜索引擎收录了这个桥页,并有较高排名时,桥页中再使用网页自动跳转方式,将用户引导到用户本来无意访问的其它网页中去。 下面介绍一下五种常见的网页自动跳转方法,以及搜索引擎对这些跳转方法的辨识能力。 第一种网页自动跳转方法:meta refresh自动跳转法 在网页的head区域的meta refresh标签中,加入自动跳转代码,可实现网页的立即或延时自动跳转。 示例如下: meta http-equiv="refresh" content="10;url= http://xfbbscom/ " 上述html代码中的“10”是延时跳转的时间,单位是秒。如果设为0,就表示立即跳转。“ http://xfbbscom ”是跳转的目标地址,可以是同一域名下的站内相对路径,也可以是不同域名的站外地址。 由于搜索引擎能够读取html,所以对于这种自动跳转方法,搜索引擎是能够自动检测出来的。 被视为作弊,则主要看跳转时间。如果跳转时间为0,就可能会被视为作弊,从而受到惩罚。如果有时间延迟(一般3秒以上),就会被视为正常应用。 第二种网页自动跳转方法:body onload自动跳转法 在网页加载时通过onload事件指定parentlocation进行自动跳转。 示例如下: body onload="parentlocation=' http://xfbbscom' " 这种方法与第一种方法一样,能够被搜索引擎识别。 第三种网页自动跳转方法:javascript自动跳转法 javascript可以实现网页的自动跳转,如果要实现立即跳转,将跳转代码放在网页的head区域即可。 示例如下: script language="javascript" locationreplace(" http://xfbbscom/yule/tietu/ ") /script 其中的“ http://xfbbscom/yule/tietu/ ”是重定向目标地址。 由于搜索引擎无法解析javascript,所以搜索引擎便无法识别用javascript脚本进行的自动跳转。 第四种网页自动跳转方法:表单自动跳转法 对于表单大家都很熟悉,就是将表单中填写的内容,提交到action参数中指定的url地址中,目标url再对接收到的数据进行处理。利用这一点,我们可间接的实现网页跳转,只不过,我们并不需要提交任何表单内容。再结合javascript脚本,可以对表单进行自 动提交。 示例如下: form name="form1" action= http://xfbbscom/indexhtml method="get" /form script language="javascript" documentform1submit() /script 其中form1名称任意,但二处form1应该统一。action中的url地址必须以文件名结尾,例如“action= http://xfbbscom/ ”或“action= http://xfbbscom/yule ”便是不规范写法。method可以是get也可以是post,但根据我的经验,提交空表单时最好使用get。 众所周知,由于搜索引擎的蜘蛛程序是不会填写表单的,所以搜索引擎便无法识别通过这种方法实现的网页自动跳转。 第五种网页自动跳转方法:程序跳转法(responseredirect 、servertransfer) 每种程序都有各自的页面跳转方法,例如asp中使用responseredirect 来进行跳转,跳转范例如下: responseredirect " http://xfbbscom " 它的作用是,asp程序运行到该行代码后,会立即跳转到目标url地址中去。 在asp中,除了使用responseredirect 做跳转外,还有一个跳转方法,用servertransfer进行跳转,跳转范例如下: responseredirect "/yule/tietu/indexhtml" 注意,这里的url地址,必须是站内地址,且url地址必须以文件名结尾,例如 responseredirect "/yule/tietu/" 便是错误用法。 responseredirect和servertransfer都能实现网页自动跳转, 但二者也有不同之处,前者可以跳转到站内url,也可以跳转到站外url,而后者只能跳转到站内文件,且浏览器地址栏的url将保持不变。servertransfer还有许多好处,这里不多详述,大家可在搜索引擎中查找它的更多资料。 使用responseredirect 跳转虽然是在服务器端完成跳转的,但它最终是转换成html后在客户端执行的,因此,也能被搜索引擎识别,过多的使用亦会被当作作弊处理。 如果是在同一网站内部的不同网页间跳转,建议使用servertransfer跳转,servertransfer肯定不会被搜索引擎视为作弊。
一、<a>标签
1 <a href=”testaspx”></a>
2 这是最常见的一种转向方法;
二、HyperLink控件
1 Aspnet 服务器端控件 属性NavigateUrl指定要跳转到的Url地址
2 NavigateUrl是可以在服务器端使用代码修改,这个区别于<a>
3 由于HyperLink本身没有事件所以要在服务器端其它事件中设置NavigateUrl
4 代码示例:
<Asp:HyperLink id=”hyperlink” runat=”server” NavigatoeUrl=”testaspx”>ok</Asp:HyperLink>
三、ResponseRedirect()方法
1 过程:发送一个Http响应到客户端,通知客户端跳转到一个新的页面,然后客户端再发送跳转请求到服务器端。
2 页面跳转之后内部控件保存的所有信息丢失,当A跳转到B,B页面将不能访问A页面提交的数据信息。
3 使用这个方法使用这个方法跳转后浏览器地址栏的Url信息改变
4 可以使用Session Cookies Application等对象进行页面间的数据传递
5 重定向操作发生在客户端,总共涉及到两次与Web服务器的通信:一次是对原始页面的请求,另一次是重定向新页面的请求
四、ServerTransfer()方法
1 实现页面跳转的同时将页面的控制权进行移交
2 页面跳转过程中Request Session等保存的信息不变,跳转之后可以使用上一个页面提交的数据
3 跳转之后浏览器地址栏的Url不变
4 这种方法的重定向请求是在服务器端的进行的,浏览器不知道页面已经发生了一次跳转
page = 页面级别
request = 请求级别(与服务器端跳转配合使用)
session = 会话级别(客户端跳转(服务器端跳转也可,但是客户端跳转更加突出了session的作用范围))
application = 应用级别
客户端跳转:服务器端将请求结果返回给客户端,客户端向服务器发出另一次请求。在客户端跳转过程中是两次不同的请求。在地址栏中显示的是最后一次请求地址。
客户端跳转可以进行站外跳转。
1、链接跳转:<a href=””></a>
2、表单提交
3、ResponsesendRedirect(“3jsp”);
4、<mata http-equiv=”refresh”, content=”3;2jsp”/>
5、responsesetHeader(“refresh”,” 3;2jsp”);
6、客户端跳转“/”代表服务器跟路径webapps
服务器端跳转(容器内跳转):能够自动的在服务器内部进行跳转,这种跳转对用户来说是透明的。两次跳转时同一个request,在地址栏中显示的事第一次页面地址。
只能进行站点内跳转。
1、<jsp:forward page=””/>
2、pageContextforward();
3、 requestgetRequestDispatcher("1jsp")forward(request,response);
3、服务器端跳转“/”代表站点根路径
1、如果能访问前台jsp页面,但是不能访问后台servlet程序的话,那有可能是项目并没有正确启动。
2、检查下tomcat下面log目录下catalog的日志文件,看看有没有错误信息,项目有没有正确启动。
3、如果服务器是windows系统的话,可以直接香tomcat控制台有没有报错信息就可以。
4、常见错误多是ip地址没修改,数据库地址,用户名,密码等没有设置调整。
5、希望对你有帮助。
0条评论