您当前的位置:主页 > 教程合集 > 网站建设网站利发国际网站建设

Discuz!论坛分区版块(gid)伪静态处理的方法

发布时间:2016-09-02编辑:余斗阅读:(0)字号:
    在做完Discuz!论坛全站伪静态(Discuz!论坛全站伪静态方法)之后,余斗发现一个问题,就是分区版块的链接并没有被静态化,还是下面这种格式:/forum.php?gid=1,余斗想要实现伪静态为:/gid-1.html。需要进一步处理,其实很简单,两步即可: 一、修改模板文件 template/default/forum/discuz.htm,找到代码(大概在第345行):

    forum.php?gid=$cat[fid]
     
    修改为:

    gid-$cat[fid].html
     
    修改版块页模板文件 source/module/forum/forum_forumdisplay.php,找到代码(大概在第19行):

    Location: forum.php?gid=$_G[fid]
     
    修改为:

    Location: gid-$_G[fid].html
     
    找到代码 (大概在第75行):

    forum.php?gid='.$forum_up['fid'].'
     
    修改为:

    gid-'.$forum_up['fid'].'.html
     
    找到代码 (大概在第84行):

    forum.php?gid='.$forum_top['fid'].'
     
    修改为:

    gid-'.$forum_top['fid'].'.html
     
    修改帖子模板文件 :打开 source/module/forum/forum_viewthread.php 文件,找到代码(大概在第131和137行共两处):

    ? 'forum.php?gid='.$fup :
     
    修改为:

    ? 'gid-'.$fup.'.html' :
     
    修改发帖页模板文件 :打开 source/module/forum/forum_post.php 文件,找到代码(大概在第125和131行共两处):

    ? 'forum.php?gid='.$fup :
     
    修改为:

    ? 'gid-'.$fup.'.html' :
     
    二、把以下伪静态规则加入到我们做好的伪静态规则中,IIS服务器添加:

    RewriteCond %{QUERY_STRING} ^(.*)$
    RewriteRule ^gid-([0-9]+)\.html$ forum.php?gid=$1%1
     
    Apache服务器添加:

    RewriteRule ^(.*)/gid-([0-9]+)\.html(\?(.*))*$ $1/forum\.php\?gid=$2
     
    最后要注意的是,这段伪静态规则一样要加在栏目规则的伪静态规则上面,Apache的是:

    RewriteCond %{QUERY_STRING} ^(.*)$
    RewriteRule ^forum-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
     
    IIS的是:

    RewriteCond %{QUERY_STRING} ^(.*)$
    RewriteRule ^forum-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
     
    附余斗完整的Discuz!伪静态规则文件(Apache服务器中的.htaccess文件)。
关键字词Discuz 伪静态
余斗余斗
  1. 转载请注明: Discuz!论坛分区版块(gid)伪静态处理的方法_余斗余斗_利发国际
  2. 版权声明: 本站原创文章,由 发表在 网站建设 分类下,于2016-09-02最后更新
Discuz!论坛伪静态的实现方法
Discuz!面包屑导航中的链接伪静态处理方法
手机扫一扫 随身带着看

利发国际

百度360搜索搜狗搜索