伪静态技术
-
什么是伪静态?
伪静态网页本身还是动态网页,例如以.aspx.asp.php等为后缀的网页,这些网页是动态网页
而伪静态网页则是经过转换重写,将地址改写成以.html.shtml.htm等为后缀,此时我们把这些网页称为伪静态网页 -
伪静态网页有什么作用?
设计使用伪静态网页,主要是考虑到搜索引擎优化SEO(Search Engine Optimization)
(现阶段静态网页和动态网页对搜索引擎优化的提升已不是那么明显,而更在于用户体验,显而易见,动态网页的体验比静态更加优秀) -
伪静态的弊端
伪静态网页的使用会增加对服务器CPU的开销,伪静态的路由首先要经过正则表达式判断,然后才能跳转到相应网页,这一过程增加了对cpu的消耗,这也是伪静态最大的弊端 -
伪静态的优点
第一个便是伪静态网页增强搜索引擎优化
其次伪静态网页因重写改造URL地址,导致我们所看到的地址和真实地址不同,增强了网站的安全性 -
伪静态如何使用
C#:
方法一:使用微软提供的URLRewriter.dll
(1)下载地址:http://www.downcc.com/file/238720.html
(2)添加对URLRewriter.dll的引用
(3)在web.config文件中,configuration节点下添加
<configSections>
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/>
</configSections>
(4)在system.web节点下添加以下代码
<compilation>
<buildProviders>
<add extension=".html" type="System.Web.Compilation.PageBuildProvider"/>
</buildProviders>
</compilation>
<httpHandlers>
<add verb="*" path="*.html" type="System.Web.UI.PageHandlerFactory"/>
</httpHandlers>
<httpModules>
<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter"/>
</httpModules>
(5)配置路由规则
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor><![CDATA[~/shop/(\w+)?]]></LookFor><!--页面显示-->
<SendTo><![CDATA[~/vshop/wechat/order/index.aspx?uid=$1]]></SendTo><!--后台路由-->
</RewriterRule>
<RewriterRule>
<LookFor><![CDATA[~/tupian/(\d+)/.html]]></LookFor><!--页面显示-->
<SendTo><![CDATA[~/web/admin/other/$1.ashx]]></SendTo></SendTo><!--后台路由-->
</RewriterRule>
</Rules>
</RewriterConfig>
方法二:.net3.5以上版本,可以通过实现IRouteHandler接口,自己实现伪静态
例:新建文件ReWriteUrl.cs
public class ReWriteUrl : IRouteHandler
{
public string UrlRote
{
get;
private set;
}
public ReWriteUrl (string sUrlRote)
{
UrlRote = sUrlRote;
}
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
return BuildManager.CreateInstanceFromVirtualPath(UrlRote, typeof(IHttpHandler)) as IHttpHandler;
}
}
在Global.asax.cs文件下的Application_Start函数里
protected void Application_Start(object sender, EventArgs e)
{
RouteTable.Routes.Add( new Route("xxxx.html", new ReWriteUrl("~/xxxx.ashx")));//地址重写
}
欢迎指正,欢迎批评!