投稿 评论 顶部

伪静态规则(Apache htaccess , IIS httpd.ini)

佚名 网络安全

? ?多数杰奇小说伪静态规则的教程,要么是不能用,要么是不符合实际,甚至有些伪静态规则语法错误!

????

????总的来说,杰奇小说伪静态规则主要分为三种版本:①httpd.ini???②.htaccess??③??URL?Rewrite?Module

?

????要写好杰奇小说伪静态规则,要先看你的杰奇小说运行环境,不同环境要用不同的版本伪静态规则。

?

??此外很多人弄杰奇全站伪静态规则,此做法是很蛋疼的做法,不谈原因,直接说结果,全站伪静态会导致网站打开慢,同时访问站点人数多的时候打开页面的时间让人无法忍受。你看过哪个大站是用杰奇全站伪静态的,原因就在于这里了。要是说怕硬盘空间不够,那是扯谈,一个vps最低也有20G吧,用杰奇CMS新站的时候,两三百本小说相对20G的硬盘根本是小Case,而且新站根本无须那么多的小说。鉴于以上原因,我们只做杰奇的部份伪静态,如信息页,分类页,排行页,就这三个伪静态。(友情提示:如果你没VPS没服务器,不建议你用杰奇来弄小说站,用dedecms或者wordpress弄单本小说效果更佳。)

?

下面是杰奇文伪静态规则实现的步骤。

?

在杰奇伪静态规则之前,我们要先进入杰奇后台设置一下伪静态的参数。

模块管理->小说连载->参数设置,然后到下图所示区域

1.“?文章信息页面伪静态规则“填写上:?????/book/<{$id}>.html??

(有人问:?/shu/<{$id}>.html??或者?/xs/<{$id}>?这样的写法行不行,嗯,你很聪明,这都被你想到了!其实这里的写法可以灵活变动的,对伪静态规则作下相应的修改就行了)

?

我们先存下这个设置,你就会发现杰奇原来的动态信息页,如abc.com/modules/article/articleinfo.php?id=1?就会变成abc.com/book/1.html这样的静态了!点一下,可惜啊,还不能访问。因为我们只是设置了后台,还得要用对应的杰奇伪静态规则才能实现访问哦。

?

?

2.?“文章分类页面伪静态规则”填写上:????/list/<{$class}>_<{$page}>.html

如同上面说的,你也可以改成如?/fenlei/<{$class}>_<{$page}>.html?这一类的,或者/fenlei_<{$class}>_<{$page}>.html??这样的都可以。

设置保存看一下,如果原来的分类是动态的的,杰奇的分类url,还是动态的url,并不会变动。这个就需要我们去改动模板了,具体方法我就不在这里说了。

?

?

?

3.?“排行榜页面伪静态规则”这里填写上:???/top/<{$sort}>_<{$page}>.html

这个设置保存了之后,你就会发现什么月排行版,周排行榜的url全变成静态的了,但是如同信息页,我们点击是无法打开的,需要对应的杰奇伪静态规则。

?

?

下面是具体的规则跟适应环境。


?(1)?httpd.ini?版本杰奇伪静态规则(运行环境是IIS,ISAPI?Rewrite?版本为2.9)

httpd.ini目前看来是较多人多的,因为vps默认安装的ISAPI?Rewrite版本为2.9,而ISAPI?Rewrite?2.9只支持httpd.ini这一类格式的。

?

在网站根目录新建立一个httpd.ini的文件,把以下代码放进去即可。

?

[ISAPI_Rewrite]

#?3600?=?1?hour

CacheClockRate?3600

RepeatLimit?32
RewriteRule?^(.*)/book/([0-9]+)$?$1/modules/article/articleinfo\.php\?id=$2??[L]

RewriteRule?^(.*)/top/([a-z]+)-([0-9]+)\.html$?$1/modules/article/toplist\.php\?sort=$2&page=$3??[L]

RewriteRule?^(.*)/fulltxt/([0-9]+)_([0-9]+)\.html$?$1/modules/article/index\.php\?fullflag=$2&page=$3??[L]

????

?

?

?(2)??.htaccess?版本杰奇伪静态规则(运行环境是Apache,或者是IIS?,ISAPI?Rewrite?版本为3.0或者以上)

apache只能用.htaccess来做伪静态,而为什么IIS?的环境也要用到.htaccess呢?这是因为ISAPI?Rewrite?版本为3.0或者以上只支持.htaccess的格式。

如果是老手,可以直接用ISAPI?Rewrite?版本为3.0把httpd.ini转换成.htaccess格式的。

?

在网站根目录新建立一个.htaccess的文件,把以下代码放进去即可。

?

RewriteEngine?On???????

RewriteBase?/??
RewriteRule?^book/([0-9]+)\.html$?modules/article/articleinfo.php?id=$1

RewriteRule?^list/([0-9]+)_([0-9]+)/$?modules/article/index.php?page=$2&class=$1??

RewriteRule?^top/([a-z]+)_([0-9]+)/$?modules/article/toplist.php?page=$2&sort=$1??

?

?(3)URL?Rewrite?Module?(适用于windows?2008?IIS7.5?Rewrite?Module?2.0)

因为这个较少人用到,我就不写了,打字很累。

?

以上的规则都是本人严格测试过的,当然还有一些伪静态规则没写上,如全本小说的伪静态,还有字母之类的,我也没写,体谅一下,码字很累。

?

?