前面说过了,由于搜索引擎还无法正确读取带参数的动态网页内容,造成网页中很多具有丰富信息的页面无法给搜索引擎收录,现在很多大型的网站都采用了动态网页生成静态网页的技术,消除动态网页中的参数,使搜索引擎收录更多的内容,达到优化的效果,(需要了解asp.net生成静态网页的技术,请看本站的asp.net批量生成静态网页)。生成静态网页确实可以很好的解决搜索引擎收录的问题,但是可能又遇上了量一个问题,就是随着网站数据的增多,生成的静态网页占了很多的空间,管理起来也不是很方便,会造成大量的磁盘空间开销,现在该怎么办呢?再继续买更大的网络空间来存放这些数据?还是放弃这个方法呢?:-),还好,聪明的程序员又想出了新的解决方法,这个就是动态网页伪静态技术了,为什么说是伪静态呢?是因为这个并不是真正的静态网页,而是通过某些技术,把网页的url重写,同样是消除了动态网页中的参数,但是并不需要生成任何网页,不必要另外占用新的磁盘空间,但是能给搜索引擎看起来像是一个静态的网页,以达到静态网页同样的效果。下面说说asp.net生成伪静态网页技术。
asp.net伪静态网页技术很简单,主要下载这个文件URLRewriter.rar,解压到工程中的bin文件夹中,并在web.config中配置一下,并可以实现静态网页的效果:
在<configuration/>中添加一下内容,注意网页的路径,否则会出现该页无法显示的错误。重写的页面名称不能跟现有的文件有冲突。
<configSections>
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
</configSections>
<httpModules>
<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter" />
</httpModules>
<!-- 下面是配置重写URL规则 -->
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/Products/Jurisdiction_(\\w{3})\\.aspx</LookFor>
<SendTo>~/En/Jurisdiction.aspx?jurid=$1</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Articles/(\\d{1,})\\.aspx</LookFor> <!-- 这个是被代替后的文件名,使用到正则表达式 -->
<SendTo><![CDATA[~/En/Article_view.aspx?article_id=$1]]></SendTo> <!-- 这个是要给代替的网页,一般是带有问号后面带参数的网页 -->
</RewriterRule>
<RewriterRule>
<LookFor>~/Articles/(\\d{1,})_(\\d{1,})\\.aspx</LookFor>
<SendTo><![CDATA[~/En/Article_view.aspx?article_id=$1&page=$2]]></SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
这样比如上面的网址http://localhost/En/Article_View.aspx?article_id=9就可以用http://localhost/Articles/9.aspx来代替,当然,你代替后的扩展名可以用任何iis能解释的扩展名,如果你喜欢用htm做扩展名,那么在配置转发规则上面配置为htm为扩展名的,同样有些文章可能很长,往往我们会把一个文章分成几页,那么根据上面的配置,我们如果想访问http://localhost/En/Article_View.aspx?article_id=9&page=3我们就可以用http://localhost/Articles/9_3.aspx来代替,这样当搜索引擎来抓起你的网页的时候,就会收录你这些网址下去,别人搜索到你网页的时候,就可以从这些地址链接过来。呵呵,是不是很方便呢?不需要修改任何程序,也不需要再占用多余的网络空间,轻松对付搜索引擎。
[本日志由 陆羽 于 2008-07-05 06:27 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | [url=javas
Tags: