不管伪静态有什么好处或者有什么坏处,当你看到这篇文章的时候,你应该已经决定了要使用伪静态,或者作为知识储备,so,那些大牛们研究的好处与坏处咱就不献丑了,以此献给还没有使用过伪静态的朋友们。
系统环境:windows2003
web服务器:ms iis6.0
准备工作:
首先你必须安装好环境,然后你必须去网上Download一个IIS _Rewrite,你可以Google一把,肯定能下载下来的,里面的东西是httpd.ini文件(配置好后要在这个文件里面加入重写规则),httpd.parse.errors文件(不用管它),mtbnotif.dll文件(不用管它,too),Rewrite.dll(最重要的就是他了,配置的时候要用到它)。然后你需要一个站点,我用一个.net的小站举例子。
now , let's begin !
快捷键windows+r 打开运行,里面键入inetmgr,打开iis,然后选择你的站点,右键属性
选择isapi筛选器,点击添加
名称里面填写ReWrite,或者自己起个名字,点击浏览选择Rewrite.dll文件(当然前提是你已经把你下载到的IIS _Rewrite文件夹放在了你的站点下,放在根目录即可),点击确定就行。Rewrite就开始工作了,但是伪静态成什么样子呢,当然要你自己写规则,可以用记事本打开httpd.ini文件,
这里面是我的代码
RewriteRule 上面的东西都不用管,只用写下面的规则就行,每个需要解析的规则都要写
RewriteRule /FredBack/.html/?*(.*)$ /FredBack/.aspx/这条为例,能吧fredBack.html 解析成FredBack.aspx,然后你程序里面所有连接为FredBack.aspx的都改成fredBack.html就行了,其他的规则都是类似的,实在不会去找正则表达式的教程看一点,估计都能看懂
RewriteRule /About_jianjie/.html/?*(.*)$ /About/.aspx/?title=jianjie
把About_jianjie.html 解析成为About.aspx?title=jianjie
RewriteRule ../NewsDetail_([0-9]+)/.html/?*(.*)$ ../NewsDetail/.aspx/?Id=$1
把NewsDetail_XXX.html解析成NewsDetail.aspx?Id=XXX XXX代表数字
RewriteRule /NewsList_t([0-9]+)_p([0-9]+)/.html/?*(.*)$ /NewsList/.aspx/?type=$1&page=$2
把NewsList_tXXX_pYYY.html解析成NewsList/.aspx/?type=XXX&page=YYY XXX和YYY代表数字
不喜欢这个规则,可以定义自己喜欢的规则
规则写完后,你程序中的连接都必须改成静态的,看,改完后程序里面就没有类似于?参数名=参数值的url出现了,如果你用虚拟主机的话,记得让服务商帮你设置好iis伪静态啊