--勉励自己努力以钉子的“挤”劲和“钻”劲提升自己
 :: Blog List ::
钉子 发表于 2005-7-4 11:51:34
    根据wally1发表的《99%实现HTML化的 LeadBBS》原理进行修改。

    注意:建议大家不要修改!如果要把论坛(包括插件)全部改成HTM形式的地址的话,不但需要改很多很多文件中的许多链接地址,同时也要在ISAPI_Rewrite转发原则中添加许多许多地址转向的语句,并且会把LeadBBS糟蹋得不成样子。这里只能授人渔而不授人鱼,如果需要修改,请备份论坛全部文件,修改引起的一切损失与此帖无关!

    本人这里利用LeadBBS中的另一首页_Boards.asp入手,用转发组件ISAPI_Rewrite把LeadBBS从首页_Boards.asp开始改到查看帖子为止。至于其中发帖、回帖及导航栏“ 检索-用户专区-工具箱-?电台”等链接不予修改---否则真的把LeadBBS糟蹋得不成样子了。

    演示:../Boards.htm

=====================================

    原理:服务器中安装转发组件ISAPI_Rewrite,并在其httpd.ini文件中经过设置后,能把客户端访问过来的地址,翻译为httpd.ini文件中设定的地址。

    ISAPI_Rewrite下载:  ISAPIRewritev1.3forIIS.CR.rar

=====================================

现在从下面我的httpd.ini文件的第四句开始,具体说明句子含义。

(一)我的ISAPI_Rewrite中的httpd.ini文件:

[ISAPI_Rewrite]

# Defend your computer from some worm attacks
# RewriteRule .*(?:global.asa|default\.ida|root\.exe|\.\.).* . [F,I,O]
RewriteRule boards.htm _Boards.asp
RewriteRule /leadbbs/Boards.htm /leadbbs/_Boards.asp
RewriteRule /leadbbs/Board/Board([0-9]*).htm /leadbbs/Board/_Board.asp\?BoardID=$1
RewriteRule /leadbbs/Assort([0-9]*).htm /leadbbs/_Boards.asp\?Assort=$1
RewriteRule /leadbbs/Announce/A([0-9]*)i([0-9]*).htm /leadbbs/Announce/_Announce.asp\?BoardID=$1&ID=$2


(二)句子说明:

第4句、“RewriteRule /leadbbs/Boards.htm /leadbbs/_Boards.asp”,则当客户端浏览器访问“/leadbbs/Boards.htm”时,服务器就传输“/leadbbs/_Boards.asp”的页面数据给客户端。

第5句、“RewriteRule /leadbbs/Board/Board([0-9]*).htm /leadbbs/Board/_Board.asp\?BoardID=$1”,则当客户端浏览器访问“/leadbbs/Board/Board9.htm”时,服务器就传输“/leadbbs/Board/_Board.asp?BoardID=9”的页面数据给客户端。

第6句、“RewriteRule /leadbbs/Assort([0-9]*).htm /leadbbs/_Boards.asp\?Assort=$1”,则当客户端浏览器访问“/leadbbs/Assort9.htm”时,服务器就传输“/leadbbs/_Boards.asp?Assort=9”的页面数据给客户端。

第7句、“RewriteRule /leadbbs/Announce/A([0-9]*)i([0-9]*).htm /leadbbs/Announce/_Announce.asp\?BoardID=$1&ID=$2”,则当客户端浏览器访问“/leadbbs/Announce/A9i9.htm”时,服务器就传输“/leadbbs/Announce/_Announce.asp?BoardID=9&ID=9”的页面数据给客户端。

以此类推。。。

请仔细体会上面句子,我们要做的就是在SAPI_Rewrite的httpd.ini文件中写入当客户端浏览器地址中输入什么htm的地址时,服务器就给他什么asp的页面数据。

=====================================

首页_Boards.asp文件的具体修改(因为修改的文件实在太多,其他文件不能一一例举说明):

修改(注意对照httpd.ini文件中的语句):

1、查找<a href="/Board/Board.asp?BoardID="" & GetData(0,0) & ">修改为

<a href="/Board/Board"" & GetData(0,0) & ".htm>

意为:把“Board/_Board.asp\?BoardID=$1”类型的链接句子改为“Board/Board([0-9]*).htm”类型的链接句子,此句请对照上面第5句理解。

2、查找<a href="/Boards.asp?Assort="" & GetData(14,0) & ">修改为

<a href="/Assort"" & GetData(14,0) & ".htm>

意为:把“_Boards.asp\?Assort=$1”类型的链接句子改为“Assort([0-9]*).htm”类型的链接句子,此句请对照上面第6句理解。

3、为了不破坏以Boards.asp为首页的论坛程式,复制Announce.asp文件创建为 _Announce.asp文件(用于修改“查看帖子”页面中的一些链接句子)。

查找<a href="/announce/announce.asp?BoardID="" & GetData(0,0) & "&ID=" & GetData(10,0) & "&aupflag=1&anum=1>修改为

<a href="/announce/A"" & GetData(0,0) & "i" & GetData(10,0) & ".htm &aupflag=1&anum=1>

意为:把“Announce/_Announce.asp\?BoardID=$1&ID=$2”类型的链接句子改为“Announce/A([0-9]*)i([0-9]*).htm”类型的链接句子,此句请对照上面第7句理解。

=====================================

在不破坏以Boards.asp为首页的论坛程式的前提下,从首页_Boards.asp页面改到“查看帖子”页面,需要与上面第3点中创建的 _Announce.asp文件一样,至少还需要创建并修改以下文件(不但要像上面修改首页_Boards.asp一样,修改文件中的那些链接句子;根据你的需要,必要时还要参照httpd.ini文件的句子再添加相应的转向语句):
Board/_Board.asp
Board/inc/_EBoard_fun.asp
Board/inc/_Board_fun.asp
announce/_announce.asp
inc/_Board_Popfun.asp

本文转自:http://gsky.8800.org/leadbbs/Announce/announce.asp?BoardID=900&ID=1845

发表评论:

    昵称:
    密码: (游客无须输入密码)
    主页:
    标题:
Best view with 1024 x 768 pixel & IE 6.0.
About Me
Archives Categories
Replies List
My FriendLinks
Blog Info

Powered by Oblog.