伪静态规则的教程,要么是不能用,要么是不符合实际,甚至有些伪静态规则语法错误!
总的来说,说伪静态规则主要分为三种版本:①httpd.ini ②.htaccess ③ URL Rewrite Module
要写伪静态规则,要先看你的运行环境,不同环境要用不同的版本伪静态规则。
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)
因为这个较少人用到,我就不写了,打字很累。
以上的规则都是本人严格测试过的,当然还有一些伪静态规则没写上,还有字母之类的,我也没写,体谅一下,码字很累。
转载请注明来源网址:https://www.mubanyun.com/host/1085.html
发表评论
评论列表(条)