本帖最后由 zhaolinlang 于 2010-5-29 01:54 编辑
大家已经厌恶了forum-1-1.html的版块列表地址和thread-1-1-1.html的帖子内容页地址吧?
看到www.tiboo.cn的静态化地址弄得神乎其神,很羡慕吧? 在DISCUZ X中已经实现了后台自定义,不过7.2还是没有,还有很多站长是坚持在7.2的,包括我。
还有更重要一点,据不完全证明:更改过的静态化地址,有利于SEO 。
虚拟主机/不可自定义规则绕道,不愿意学习的菜鸟也绕道。
演示:列表页:http://www.chunxilu.org/list-15-page-1.html
内容页:http://www.chunxilu.org/read-9278.html
1.首先我们需要修改2个文件:global.func.php (控制论坛的)和 request.func.php(这个主要是控制数据调用的),忘了给大家说这2个文件在include目录。
打开global.func.php找到:
- function rewrite_thread($tid, $page = 0, $prevpage = 0, $extra = '') {
- return '<a href="thread-'.$tid.'-'.($page ? $page : 1).'-'.($prevpage && !IS_ROBOT ? $prevpage : 1).'.html"'.stripslashes($extra).'>';
- }
- function rewrite_forum($fid, $page = 0, $extra = '') {
- return '<a href="forum-'.$fid.'-'.($page ? $page : 1).'.html"'.stripslashes($extra).'>';
- }
- function rewrite_space($uid, $username, $extra = '') {
- $GLOBALS['rewritecompatible'] && $username = rawurlencode($username);
- return '<a href="space-'.($uid ? 'uid-'.$uid : 'username-'.$username).'.html"'.stripslashes($extra).'>';
- }
- function rewrite_tag($name, $extra = '') {
- $GLOBALS['rewritecompatible'] && $name = rawurlencode($name);
- return '<a href="tag-'.$name.'.html"'.stripslashes($extra).'>';
- }
复制代码 大家应该有些明白了吧?
我们来修改板块列表为:bankuai-2-page-1.html 修改主题内容为show-888-p-1-n-1.html
我们就要把如上代码修改为- function rewrite_thread($tid, $page = 0, $prevpage = 0, $extra = '') {
- return '<a href="show-'.$tid.'-p-'.($page ? $page : 1).'-n-'.($prevpage && !IS_ROBOT ? $prevpage : 1).'.html"'.stripslashes($extra).'>';
- }
- function rewrite_forum($fid, $page = 0, $extra = '') {
- return '<a href="bankuai-'.$fid.'-page-'.($page ? $page : 1).'.html"'.stripslashes($extra).'>';
- }
复制代码 这里我们只管主题列表和内容页,其他自己想办法。
保存,以动态forumdisplay.php?fid=2刷新一下,看你的主题列表页是不是变了呢?
当然了,这时候一定是死链的。因为你的静态化规则还没成立。
这时,我们打开静态化rewrite修改,这里以IIS为例,打开httpd.ini修改其中的- RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+)\.html$ $1/forumdisplay\.php\?fid=$2&page=$3
- RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/viewthread\.php\?tid=$2&extra=page\%3D$4&page=$3
复制代码 为:- RewriteRule ^(.*)/bankuai-([0-9]+)-page-([0-9]+)\.html$ $1/forumdisplay\.php\?fid=$2&page=$3
- RewriteRule ^(.*)/show-([0-9]+)-p-([0-9]+)-n-([0-9]+)\.html$ $1/viewthread\.php\?tid=$2&extra=page\%3D$4&page=$3
复制代码 保存,再次打开是不是成功了呢?
当然了,我这里只是给大家大概说一下,具体你想要修改为什么样,自己多研究一下!此楼只是修改了论坛规则,后台数据调用依然还会是thread-1-1-1.html,我再2楼给大家说怎么做。 |