Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[发布] 给大家分享一个dz门户文章伪静态URL加上分类目录

[复制链接]
斌斌网站建设 发表于 2016-9-25 21:29:05 | 显示全部楼层 |阅读模式
本帖最后由 斌斌网站建设 于 2016-9-29 10:50 编辑

在网上找不到,所以自己写了一下,最高支持到二级分类

本站原本链接是:http://www.aiqiongwang.com/article-1-1.html

改完后链接是:http://www.aiqiongwang.com/news/hknews/article-1-1.html

修改文件为/source/functionfunction_core.php


elseif($type == 'portal_article') {
                list(,,, $id, $page, $extra) = func_get_args();


                $ffid = DB::result_first("SELECT catid FROM ".DB::table('portal_article_title')." WHERE aid = '$id'");


                if( DB::result_first("SELECT upid FROM ".DB::table('portal_category')." WHERE catid = '$ffid'")  == '0'){
                        $yy = '';
                }else{
                        $yy = DB::result_first("SELECT upid FROM ".DB::table('portal_category')." WHERE catid = '$ffid'");
                }
               
                $r = array(
                        '{lujing}' => !isset($yy)?DB::result_first("SELECT foldername FROM ".DB::table('portal_category')." WHERE catid = '$ffid'")B::result_first("SELECT foldername FROM ".DB::table('portal_category')." WHERE catid = '$yy'").'/'.DB::result_first("SELECT foldername FROM ".DB::table('portal_category')." WHERE catid = '$ffid'"),
                        '{id}'        => $id,
                        '{page}' => $page ? $page : 1,
                );

红色的为本人加上的,原理是,查询出文章所属分类,然后判断是否存在上级栏目,如果存在则加上上级栏目的目录,不存在则直接使用本目录

一级目录本人没测试过,因为本人使用的是二级栏目,


后台伪静态设置为:



也就是

  1. {lujing}/article-{id}-{page}.html
复制代码


伪静态规则为:

RewriteRule ^news/([a-z]{1,3})news/article-([0-9]+)-([0-9]+)\.html$ portal.php?mod=view&aid=$2&page=$3&%1

最后附上修改后的文件,懒人文件下载



最后希望大家能给小弟一个支持加上本站链接:

爱琼网:http://www.aiqiongwang.com/


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
q573927428 发表于 2016-9-28 13:36:13 | 显示全部楼层
本帖最后由 q573927428 于 2016-9-28 13:38 编辑

这样设置后 本来正常连接是
http://www.aiqiongwang.com/news/dfnews/article-609-1.html

但是 这样的连接也能正常访问
http://www.aiqiongwang.com/n/d/article-609-1.html
http://www.aiqiongwang.com/nddddddddddddd/daaaaaaaaaaaaaaa/article-609-1.html
回复

使用道具 举报

 楼主| 斌斌网站建设 发表于 2016-9-29 10:51:06 | 显示全部楼层
q573927428 发表于 2016-9-28 13:36
这样设置后 本来正常连接是
http://www.aiqiongwang.com/news/dfnews/article-609-1.html

RewriteRule ^news/([a-z]{1,3})news/article-([0-9]+)-([0-9]+)\.html$ portal.php?mod=view&aid=$2&page=$3&%1

这样会精简一点
回复

使用道具 举报

julyphotoes 发表于 2016-12-30 11:59:46 | 显示全部楼层
有IIS7的伪静态规则么?我些了个怎么出现404
<rule name="门户文章">
            <match url="^news/([a-z]{1,3})news/article-([0-9]+)-([0-9]+)\.html$" ignoreCase="false" />
            <action type="Rewrite" url="portal.php?mod=view&amp;aid={R:2}&amp;page={R:3}&amp;{C:1}" appendQueryString="false" />
        </rule>
回复

使用道具 举报

民审大大 发表于 2016-12-30 17:43:43 | 显示全部楼层
这会增加超多数据库查询
回复

使用道具 举报

秋水浮云 发表于 2017-1-19 08:38:19 | 显示全部楼层
这样会精简一点
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-15 17:25 , Processed in 0.025023 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表