伪静态在可以使用数据库提供更强大的功能的同时,将很长很复杂的链接变成简短的静态链接形式,迎合搜索引擎方便搜索引擎蜘蛛(Spider)来抓取网页上的相关内容,提高页面被搜索引擎索引收录的比率,为用户提供更好的体验。伪静态搜索引擎和用户角度都有作用,在SEM建站中是很重要的一环。
1.3伪静态的特点(1)链接形式是静态;(2)功能内容是动态;(3)伪静态不会提高页面访问速度及与数据库交互速度;(4)开启伪静态会略微提高服务器资源占用。这一点如果在有限制的虚拟空间有些影响,但是在商业网站购买较为稳定网站空间的情况下可以忽略不计。
1.4 SEM与伪静态并非所有网站都要使用伪静态,因为伪静态不会影响网站的内容和存在。但是在SEM(搜索引擎营销)中,伪静态是必须的,而不是可选的。主要原因是:网站也是综合实力的比拼,做网站的技术含量并不太高,但是要出众则很难。而细节决定成败,在每个细节上都注意比其他网站更好一些,加起来就会有比较大的作用。
伪静态在搜索引擎和用户层面都有较好的作用,并且为链接设计提供可能。在域名或者链接中出现关键词是件不错的事情。
2伪静态的生成方式实现伪静态的方式主要有以下几种:
(1)框架伪静态,这种是非常简单而且也是非常便于识别的,它的原理比较简单,就是做一个静态的主框架页面,然后将动态的内容链接到副框架内。这个单从它的URL就可以看出眉目,如果整个网站的UI也都是一样的,那就一定是框架伪静态的。
(2)利用组件把asp的后辍显示为htm或html,这种方法的原理有一点难度,它主要是利用一个组件强制性地把asp文件的后辍显示为htm或html,对于用户来说,它是很难分辨的,因为显示的链接的确是以.htm结尾的,譬如:News.aspID--1一÷News.asp/1.html。
(3)利用FSO文件组件,调用数据库中的网页模板,并生成HTML的网页文件。
(4)利用重写ISAPI Rewrite重写技术,设计伪静态规则,实现网页重写转向功能,如设计New1234.html重写转向到网站真实的网页地址New.aspid=1234,从而实现网站的伪静态化。
3网站伪静态化的实现过程目前最推崇的网站静态化方法是采用ISAPI Rewrite重写技术实现网站伪静态。也就是利用服务器端,对请求的动态页面做改动,让浏览器认为访问的也是静态页面,此时,浏览器地址栏中显示的就是静态地址信息(不带问号)了。
ISAPI—Rewrite是一个dll组件,Rewrite是IIS里的一个模块。该筛选器的实现是通过正则表达式,将动态网页网址映射成为静态网址,比如将News.aspid=18通过Rewrite将其转换成News 18.html。映射的正则表达式是在httpd.ini文件里进行设置。
具体的实现方法阐述如下。
3.1下载一个ISAPI RewriteISAPI Rewrite的下载地址:http://www.helicontech.corn/download/,有精简版和完全版,一般精简版只能对服务器全局进行配置,而完整版可以对服务器上的各个网站/虚拟目录进行伪静态配置。对于一般的企业和个人网站来说,精简版就足够了。
下载完成后,可以找到安装包里的.msi的文件,安装即可。比如将安装程序安装到E:\ISAPI Rewrite目录,则还需要:
(1)将该目录及目录下的文件只读属性去除;(2)如果目录所在磁盘是NTFS格式,还需要在目录的安全选项中,必须将读写权限赋予everyone或Intemet匿名用户。
3.2设置IIS站点的“ISAPI筛选器”
打开Intemet信息服务,在默认站点鼠标右键,打开web站点属性,点击ISAPI筛选器选项卡,添加筛选器,这里的名称可以随意填写,路径指定到ISAPI Rewrite.dU所在目录,然后确定。
3.3编写动态网页并测试为验证URL重写的结果,编写一个动态测试页(带参数形式)New.asp。可以按照如下的代码编写:<%=Request.QueryString(”id”)%>,并将文件保存到网站主目录。然后,在浏览器中输入:
htt=p://127.0,0.1/New.aspid=123,结果就可以在网页上看到一行文字:“123”。看到这几个数字,则说明动态测试页编写成功。
3.4配置ISAPI Rewrite,编写重写规则配置ISAPI Rewrite重写规则的具体方法和步骤:
(1)打开ISAPI Rewrite的目录,把httpd.ini的只读属性去掉,打开编辑。
(2)现在是需要把New.aspid=123修改成类似New 123.html的路径,因此需要在httpd.ini中添加一句:RewriteRule/New_([0-9,a-z]*).html/New.aspid=$1(3)该语句可以把提交的地址http://127.0.0.1/New 10.htm映射到真正的地址http://127.0.0.1/New.aspid=10,保存后,即可进行URL重写的测试,在浏览器中输入网址:http://127.0.0.1/New 123.html,可以看到页面上显示的内容是“123”,结果表明伪静态配置成功。【3j3.5复杂的URL重写规则以上只是最为简单的URL重写规则,还可以根据网站建设的实际情况,设置更为复杂的重写规则。
比如目录类型的,翻页类型的重写规则等,举例如下。
(1)URL重写规则处理数据翻页,具体的规则写法:
New<%=Page%><%=type%>.html(注:page是翻页页数,type是数据类型)表现形式:New 1 18.html如果翻下一页,则为:New 2 18.html,继续下一页的循环,则是:
New 3 18.html,以此类推。
为实现该重写规则,需要在httpd.ini文件中增加以下代码:
RewriteRule/New_6d+)_6d+)\.html/New\.asp\page--$1&type=S2 IN,(2)若动态程序有多个参数需要传递,那么增加多个(\d+)即可,规则写法如下:
RewriteRule/New 6d+)_0d+)_6d+)\.html/New\.asp\page=$1&type--$2&type2=$3 IN,(3)若将http://www.mysite.corn/New.aspid=50#abc转换成静态的网页,因为#abc是程序在处理了ID=50这个变量生成静态页面之后,按锚点又做了一次页内链接,所以该映射方法为:
http://www.mysite.com/New.aspid---50#abc转换成http://www.mysite.corn/New 50.htm#abc重写规则为:
RewriteRule/New_6d+)\.htnl撑(\d+)/New\.asp\id=$1#$2[N,URL重写在程序上基本不需做什么变化,但要实现这个功能需要对IIS进行控制。因此网站建设是租用的服务器时,则需要先跟网站服务商联系。当然以上实现方法是针对ASP而言,若采用ASEnet就只需要直接将DLL程序集放到程序中的bin,再对Web.Config进行重写配置,即可实现URL重写功能【4】。
4利用伪静态功能完善网站通过以上方法实现URL重写,主要目的是利用伪静态功能来完善网站,最突出的有如下几个方面。
4.1 提高搜索引擎阅读和索引网站的能力搜索引擎是根据URL来抓取和索引网站的,很多动态数据库驱动的网站具有一些具有URL参数的动态URL,诸如像‘'www.mysite.com/UserInfo.aspxID=l”中的ID参数,搜索引擎不能够完全索引该网站。
通过修改网址成为像‘'www.mysite.com/Userlnfo/1.aspx”之类的形式,可以帮助搜索引擎更容易地索引到该网站。
搜索引擎通常还通过网站URL中的关键字来判断网页的相关性。如果希望在不用修改网站目录架构的情况下,可以通过修改URL以更好地反映网页的内容。了解搜索引擎的工作原理,然后根据它来优化网站,让网站更好地被搜索引擎收录。
4.2提高网站维护的灵活性一旦修改了站点结构,却不用要求用户修改他们的书签,也不用要求其他网站改变指向你网站的友情链接。比如在网站中修改一个网页的名称,或者修改存储网页的文件夹结构,将会给那些已经收藏了该网页的用户和某些网站对该网站的友情链接带来混乱。一个可行的解决方案就是使用URL重写来透明地把用户重定向到正确的网页。
例如,若有网址www.mysite.corn/main/sitecontacts.htrn,用户可能已经在书签中收藏该地址,若想修改它到WWW.mysite.corn/contacts.htm,可以简单地建一个重定向规则。当用户在浏览器中输入www.mysite.com/main/sitecontacts。htm时,被重定向到www.mysite.corn/contacts.htm页面。
4.3提高网站安全性网址可以为黑客提供一些攻击的线索,因为它们通常会暴露网站的内部工作机制。例如,通过使用“.asp”或".aspx”作为后缀,则已经暴露出正在使用ASP或ASRNET框架。这样,一个潜在的黑客就掌握了一条如何攻击该网站的线索。URL重写可以将扩展名改为“.x”或".mysite”,从而可以让攻击者去猜测该网站到底用的是什么框架。
另一个安全担心是,在URL中显示网站的站点目录和URL参数,通常会让黑客获得重要信息来进行前端攻击。通过这个信息,黑客可以通过修改参数,或直接访问相关目录,从而暗中找出该网站可能存在的一个安全漏洞。URL重写帮助网站隐藏这些信息不被黑客所发现。
本文由http://siruichina.com/New_con.asp?id=846&kind=&kindnext=49编辑(转载请注明)

伪静态(URL重写)的更多相关文章

  1. .htaccess伪静态(URL重写)绑定域名到子目录实现子站点

    Apache主机一般支持.htaccess伪静态,即可以实现绑定域名到子目录.一个空间多个站点. 应用举例:绑定htaccess.800m.net到htaccess目录 根目录下.htaccess内容 ...

  2. URL重写技术总结

    URL重写技术总结 概要:什么是url重写? URL 重写是截取传入 Web 请求并自动将请求重定向到其他 URL 的过程.比如浏览器发来请求 hostname/101.html ,服务器自动将这个请 ...

  3. UrlRewritingNet伪静态的使用方法与解决方案(URL重写)

    在建站初期时,我们往往需要考虑的是使用真静态还是伪静态,这对于往后的站点配置,延展性都会产生深远的影响. 我使用伪静态的唯一目的:SEO优化.毋容置疑,伪静态在对于Spider是非常有利的,因此,我更 ...

  4. ThinkPHP的URL重写+路由+伪静态,实现SEO效果。

    1.URL重写,隐藏网址中的Index.php. ThinkPHP 作为 PHP 框架,是单一入口的,那么其原始的 URL 便不是那么友好.但 ThinkPHP提供了各种机制来定制需要的 URL 格式 ...

  5. .htacess的url重写(支持伪静态)

    html网页纯静态: 1.加载的时候不需要调用数据库,打开速度快,另外减少了服务端脚本的匹配时间.2.减少了服务器对数据响应的负荷.3.从安全角度讲,纯静态网页不易遭受黑客攻击.4.从网站稳定性来讲, ...

  6. thinkphp伪静态(url重写)

    1. 服务器开启url_rewrite功能,linux空间的php虚拟主机只需要开启apache的mod_rewriet,如果是iis6.0就要安装ISAPI Rewrite模块,apache只要开启 ...

  7. asp.net 使用UrlRewritingNet.UrlRewriter组件URL重写,伪静态详解

    目录 URL重写的业务需求 ReWritingNet组件主要功能 配置IIS(IIS7/8环境下) 程序代码 重写规则 一,URL重写的业务需求 顾客可以直接用浏览器bookmark功能将页面连结储存 ...

  8. ASP.NET伪静态 UrlRewrite(Url重写) 实现和配置

    核心提示:大家一定经常在网络上看到很多网站的地址后缀都是用XX.HTML或者XX.ASPX等类似静态文件的标示来操作的吧,那么大家有怀疑过他真的是一个一个的静态生成的文件么,静态文件的生成的优缺有好有 ...

  9. Url重写和伪静态

    这里是URL重写的精华:http://msdn.microsoft.com/zh-cn/library/ms972974.aspx感觉写的非常棒. 其实URL重写操作起来也是挺简单的,只要你在前台写好 ...

  10. URL重写是实现PHP伪静态

    URL重写是实现PHP伪静态 应该这样说才是,URL重写是实现PHP伪静态的方式之一, 具体如: http://www.plframe.com/?x=1&y=2&z=3 换成 http ...

随机推荐

  1. Core Data (二)备

    序 上次只是说了三个Core Data栈基本类.这次准备介绍一下常用的类. NSManagedObject Core Data是一次底层数据封装成面向对象的技术.最直接的表现就是在SQLite里面的一 ...

  2. gtest编译小结(ubuntu 12.10 , gtest 1.6.0)

    1 下载源码,解压之当前用户的主目录(~/) 2 进入make目录,执行make命令 cd ~/gtest-/make make 3 在ubuntu里编译出错,提示找不到lthread库.修改Make ...

  3. SSH自动部署

    我的是windows环境,目前开发的过程中,有些项目需要一下子部署到很多的linux服务器上.写了个脚本能够自动上传文件和执行部署任务.完成这个任务需要的条件包括SSH配置和一个执行脚本. 准备 1. ...

  4. 【剑指offer】面试题29:数组中出现次数超过一半的数字

    题目: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2. ...

  5. Divide Two Integers 解答

    Question Divide two integers without using multiplication, division and mod operator. If it is overf ...

  6. 事件处理原理(IOS篇) by sixleaves

    前言 了解IOS事件处理的本质关键要先掌握几个概念.首先是事件的派发(Event Delivery)的过程, 一个是响应者链条如何构成. 事件的派发: Q1: 你有没有想过,如果你一个屏幕中有多个的V ...

  7. POJ3669(Meteor Shower)(bfs求最短路)

    Meteor Shower Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 12642   Accepted: 3414 De ...

  8. LeetCode198 House Robber

    You are a professional robber planning to rob houses along a street. Each house has a certain amount ...

  9. [置顶] Objective-C ,ios,iphone开发基础:在UITextField输入完以后,隐藏键盘,

    在x-code Version 4.3.2 (4E2002)下编译: 在 Controller. m 文件下添加如下实例方法即可: - (void)viewDidUnload { [super vie ...

  10. JSP 中 JSTL 页面标签的笔记

    jsp头部引入使用的标签 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%&g ...