ISAPI_Rewrite规则实践(转)

最近刚刚做完一个网站,http://www.pepipe.cn/,闲着没事就想把网页静态化,

网站静态化有两种方案:

1,由后台程序生产HTML页面,现在很多CMS都具有这样的功能,不过就是感觉比较麻烦,每次更新完都要生成一次,要事内容多的话那就真的比较痛苦,要等的时间长不说,万一空间商说你运行的程序占用了大量的资源给你关闭了,那就真的比较郁闷了,所以这样的方法不想用,而且如果是自己写的程序的话还要写一个静态页面生成系统,偶水平有限,所以这种方法就不予考虑了。

2,ISAPI_Rewrite生成伪静态方案,个人觉得这个方案还是比较容易实现,不过就是很多站长都是资金有限,用的都是虚拟主机,虚拟主机支持伪静态的还是比较少,所以关键要找到一家能够支持伪静态的虚拟主机服务商,好像西部数据的就支持这样的,而且ISAPI_Rewrite规则都可以自己在后台定义,很方便,还有就是92合租的也支持。

下面就谈谈偶的网站的伪静态进程:

早就在淘宝网站买了一个空间,很便宜,1G才七十多块,还有就是服务商答应给我装ISAPI_Rewrite组建,规则我写好了给他们,他们帮我加进去。

http://www.pepipe.cn/网站其实很简单,只有三个地方需要静态化,就是一个是主页,一个是留言板还有一个就是行业动态,主页本来是想做成html的,但是要调用数据库里的一些数据,没办法只好做成了asp的,不过没关系偶可以伪静态,呵呵,真是好啊。

第一步 下载ISAPI_Rewrite组建,这个网上大把,随便一搜索就出来了。ISAPI_Rewrite分精简(Lite)和完全(Full)版.精简版不支持对每个虚拟主机站点进行重写,只能进行全局处理.不过对于有服务器的朋友,精简版也就够啦.精简版下载地址:http://www.helicontech.com/download/,就是那Lite Version (free)啦。安装.msi的文件,和装一般程序一样装就可以了,偶就装在D:\ISAPI_Rewrite.

 

接下来一步比较重要了,打开Internet 信息服务,右键,web站点属性,点ISAPI筛选器选项卡,添加筛选器,名称自己填,路径自己指定ISAPI_Rewrite.dll,然后确定。

 

到此,ISAPI_Rewrite组建就安装好了,接下来就要写规则了。

 


下面就以 news.asp 为例。

news.asp是读取新闻列表,shownews.asp是读取新闻的内容。

news.asp规则:

RewriteRule /news.html /news.asp
RewriteRule /pe-news-([0-9,a-z]*).html /shownews.asp\?id=$1
RewriteRule /news_([0-9,a-z]*).html /news.asp\?page=$1

第一句就是把对news.html的访问映射到news.asp上面

第二句就是把对pe-news-19.html访问映射到到shownews.asp?id=19上面

第三句就是把对news_2.html的访问映射到news.asp?page=2上面

news.asp代码修改:原来是:

<a href="shownews.asp?id=<%= rs("id") %>" target="_blank"><%= rs("title") %> </a>

修改链接后变成:

<a href="pe-news-<%= rs("id") %>.html" target="_blank"><%= rs("title") %> </a>

翻页代码也是一样的修改链接部分:

修改前:

<%
   response.Write"当前有"&rs.recordcount&"条记录"
   if page =1 then
    response.Write"首页 前页 "
else
response.Write"<a href=news.asp?page=1>首页</a> <a href=news.asp?page="&page-1&">前页</a> "
   end if
   if page =allpages then
   response.Write"下页 末页"
   else
response.Write"<a href=news.asp?page="&page+1&">下页</a> "
response.Write"<a href=news.asp?page="&allpages&">末页</a>"
end if
response.Write" 第"&page&"页 共"&allpages&"页 "

    %>

修改后:

<%
   response.Write"当前有"&rs.recordcount&"条记录"
   if page =1 then
    response.Write"首页 前页 "
else
%>
<a href=news_1.html>首页</a> <a href=news_<%= page-1 %>.html >前页</a>
   <%
end if
   if page =allpages then
   response.Write"下页 末页"
   else
   %>
<a href=news_<%= page+1 %>.html>下页</a> <a href=news_<%=allpages%>.html >末页</a>

<%
end if
response.Write" 第"&page&"页 共"&allpages&"页 "

    %>

注意红色部分的区别,这就是主要的地方,修改后的链接要符合你的伪静态规则。

例子请看:www.pepipe.cn/news.htmlwww.pepipe.cn/news.asp

www.pepipe.cn/pe-news-19.htmlwww.pepipe.cn/shownews.asp?id=19

www.pepipe.cn/news.asp?page=2www.pepipe.cn/news_2.html

两种效果是一样的

index.asp和guest.asp这两个文件修改和规则都跟上面类似,就不再说了。整个规则就是下面的:

# PEPIPE.CN伪静态规则
RewriteRule /pe-news-([0-9,a-z]*).html /shownews.asp\?id=$1
RewriteRule /news_([0-9,a-z]*).html /news.asp\?page=$1
RewriteRule /guest_([0-9,a-z]*).html /guest.asp\?page=$1
RewriteRule /index.html /index.asp
RewriteRule /guest.html /guest.asp
RewriteRule /news.html /news.asp

找到ISAPI_Rewrite安装目录下的http.ini文件去掉只读属性,把上面的代码加进去就OK啦。

偶也是菜鸟,希望能抛砖引玉,呵呵。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值