营销视点

动态网页静态化

2009-10-18 12:28:28

在介绍静态化之前,介绍一些常用的正则表达式:

符号匹配字符示例
\d任何十进制数字等价于[0-9]
\D任何非数字等价于[^0-9]
\s任何空白字符空格、制表符、分页符
\S任何非空白字符等价于“[^\f\n\r\t\v]”
\w任何单词字符等价于“[A-Za-z0-9_]”
\W任何非单词字符等价于“[^A-Za-z0-9_]”
\n回车换行 
.除 \n 以外的任何字符(.)+ 匹配除换行符以外的所有字符串
?0个或1个前面的字符ab?c? 可以且只能匹配“abc”、“abbc”、“abcc”和“abbcc”
*零个或多个所有的字符ab* 可以匹配“ab”、“abb”、“abbb”
 
+一个或多个所有字符ab+ 可以匹配“abb”、“abbb”等,但不匹配“ab”
{n}n表示数量 如果是2,表示2个字符a{2} 可以匹配“aa“,但不匹配“a”
{n,n}
 
从几个字符开始到几个字符结束,如果不写,表示至少或者至多a{3,} 匹配“aaa”、“aaaa”等,但不匹配“a”和“aa”。
x|y匹配“x”或“y”“ab(c|x)yz”匹配 “abcyz”和“abxyz”
\? \. \* \+? . * + 

  了解更多正则表达式,请下载:正则表达式教程



  这里我介绍几种静态化方法:



  1.使用IIS_ReWrite静态化处理,适合PHP、ASP、ASP.NET程序。



  A.isapi_rewrite.isapi_rewrite分精简(lite)和完全(full)版.精简版不支持对每个虚拟主机站点进行重写,只能进行全局处理,精简版下载地址ISAPI_Rewrite2.7ForIIS。



  打开IIS,选择网站,右键菜单属性,添加过滤器。



  B.打开文件:开始菜单->程序->Helicon->ISAPI_Rewrite->httpd.ini



  C.将RewriteRule/user/(\d+).htm/user.asp\?id=$1[I,O]加入内容中。



  D.在浏览器地址栏输入:/user/1.htm页面将指向/user.asp?id=1。



  2.使用虚拟主机的ASP网站,需要使用404错误操作实现静态化。



  A.下载404处理页面。404_Rewrite_GB2312.rar



  B.解压后将Rewrite.asp、error.asp放在网站的根目录。



  C.设置网站自定义错误信息如图:



  D.在error.asp里添加处理命令:



  CallParaseUrl("/(\d+).htm","/user.asp?User=$1")



  E.在需要静态化的实例user.asp页面中添加代码:



  引用文件



  F.在地址栏输入/1.htm,实际调用/user.asp?user=1



  3.使用asp.net开发的网页程序,使用URLRewriter.dll实现静态化。



  4.下载URLRewriter.rar,解压后放在/bin/目录下



  5.将URLRewriter.rar加入工程引用。



  6.配置IIS站点,将扩展名为html指向处理程序aspnet_isapi.dll。



  IIS站点->属性->主目录->配置->添加



  可执行文件和aspx处理相同,都是



  c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll



  特别注意,一定不要选择检查文件是否存在。



  7.在web.config中添加配置内容,压缩包里有。



  type="URLRewriter.Config.RewriterConfigSerializerSectionHandler,URLRewriter"/>



  ~/(\d*).html



  ~/user/default.aspx?link=$1



  8.在地址栏输入http://localhost/1.html指向http://localhost/user/default.aspx?link=1



  4.基于ApacheHTTPServer静态化ApacheWebServer的配置(conf/httpd.conf)



  1.在httpd.conf文件中查找LoadModulerewrite_modulemodules/mod_rewrite.so



  通常该行被注释,去掉“#”。如果没有就增加该行。



  2.加入代码:



  RewriteEngineOn



  RewriteRule^/([0-9]+).html$/user.php?user=$1



  3.如果网站使用通过虚拟主机来定义,请务必将代码加到虚拟主机配置文件.htccess中去,否则可能无法使用。



  4.重启Apache,重新载入配置。



  5.在地址栏输入http://localhost/1.html,实际指向http://localhost/user.php?user=1



  5.静态化后文件格式



  链接静态化后可以是html文件,也可以是目录,通常目录的权重大于文件的权重,可以在搜索引擎中获得更好的排名。



  例如:优化前:http://www.supercss.com/user.asp?id=1



  优化后文件:http://www.supercss.com/user/1.html



  目录:http://www.supercss.com/user/1/



  同等条件下http://www.supercss.com/user/1/有更高的优先权。

标签: