在介绍静态化之前,介绍一些常用的正则表达式:
| 符号 | 匹配字符 | 示例 |
| \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/有更高的优先权。