小拼:DedeCMS V5.7问答伪静态完美解决方案

摘要介绍DedeCMS V5.7问答模块伪静态的完美实现方法,通过小拼的修改,可以延续DedeCMSV5.1~V5.6版本老问答模块的风格,不会因为DedeCMSV5.7问答模块的升级而影响到你站点的SEO。其实,DedeCMS 5.7问答伪静态也不复杂,重点在于实现伪静态的的原理和思路。

这两天逛了下织梦论坛,发现很多站长朋友对DedeCMS 5.7问答模块的伪静态问题比较关心,普遍反映之前DedeCMS 5.5、5.6的问答伪静态规则不能用了。事实上,DedeCMS 5.7问答伪静态的实现并不复杂,只要弄清楚伪静态的实现原理和思路,还是很容易搞定的。今天,小拼就分享下DedeCMS 5.7问答伪静态的完美实现办法。

DedeCMS V5.7问答模块伪静态实现方法

我们先来看下DedeCMS 5.7问答模块的官方升级说明:

1)重构问答模块,采用模块MVC架构进行重构;
2)问答模块支持伪静态设置;
3)重新设计问答模块前台界面,新界面同系统整体界面一致;
4)客服中心采用新版问答模块改版;
5)问答模块增加对二级域名的支持。

通过上述说明,结合DedeCMS V5.7的问答源码,基本可以确定两个信息:

1)DedeCMS 5.7问答模块仍然支持伪静态;
2)由于织梦问答模块升级,使用了新的URL形式,历史版本的问答系统伪静态规则已经不适用于新版了,这也DedeCMS 5.7问答伪静态实现要解决的重点。

DedeCMS 5.7问答伪静态高级解决方案

1)你的主机是否支持伪静态?这点很重要,不然下面说再多也是白搭。简单说明下,Apache服务器伪静态实现需要借助.htaccess文件;IIS服务器伪静态实现则需要加载Rewrite组件,然后配置httpd.ini文件;

延伸阅读:Windows2003 IIS6/7伪静态组件下载/安装/配置(附伪静态规则)

2)DedeCMS V5.7管理后台-系统-系统基本参数-模块设置,“是否使用Rewrite”选择“是”,“问答模块的二级域名”填写“ask”;

DedeCMS V5.7问答伪静态系统设置

这里为什么要填写问答模块的二级域名?因为小拼的伪静态修改方法是参考DedeCMS V5.5和5.6问答的URL形式,目标URL以“.html”结尾,相信对使用过历史版本问答系统的朋友都不会陌生。

如:http://localhost/ask/question-4.html

这样的URL在DedeCMS V5.7中会有一个问题,许多以“?ct=”开头的链接都会访问不了,如“我的提问”、“我的回答”、“提高悬赏”、“编辑/删除问题”等,会产生404错误页面。

如:http://localhost/ask/question-4.html?ct=myask

其实这种现象的产生,主要是模板里链接的路径问题,采用的都是相对路径。而启用问答模块的二级域名,再结合模板修改就可以很好的解决。当然,你也可以修改模板,实现问答全站伪静态,只需多加几条伪静态规则即可。

目前留言:28   其中:访客:28   博主:0

  1. jim

    列表页每页只有两条信息
    而且列表页上边的小分类也没改。。

    • 小拼

      @jim
      谢谢反馈,列表分页已修正并更新;另外,列表上边的小分类是修改过的,应该是模板browser.htm的缓存问题,你打开随意修改再保存即可:-)

  2. jim

    嗯。解决了。挺不错。

  3. 游优

    请问下软件和图片模块以及视频模块如果伪静态。游优网

  4. 橙子

    你好,非常感谢分享。我想请问下这样伪静态之后怎么调用到网站主页呢?
    {dede:ask row=’6′ qtype=’new’ tid=’0′ titlelen=’24’}
    [field:title/]
    {/dede:ask}
    这样调用出来的也是动态的地址,请教!谢谢!

  5. 风心

    我想要这样的规则怎么整呢。。
    ask/question-id-4.html

  6. 温州SEO

    晕,为何回答要验证问题,这个是多少,,都查不到,那来的模板?

  7. 医疗seo

    @橙子
    我也是.. 而且 文件下载过后覆盖 栏目路劲不对

  8. 小屋屋

    按教程说的 操作了 ask伪静态还是不行

  9. 小米

    使用后回答问题然后就跳转错误

  10. 小白

    您好
    可不可以帮我看看,我按照你说的去做,结果打开还是404
    是Apache服务器来得

  11. 大大

    我按照你说,还是不行,打开是404?为什么呢?

  12. 青岛小官

    RewriteRule ^type$ ?ct=type 经过验证 这一句的规则有误,正确的应该是
    RewriteRule ^type.html$ ?ct=type
    青岛小官特来提醒大家。

  13. 紫芳芳

    为什么我的就是不可以,只要开启后台然后运用规则就找不页面?

  14. 紫芳芳

    能给解决一下吗,发到我邮箱感激不尽

  15. 钟朝亮

    我按上面第一个方法做的,还是不行哦,打开后全是404的页面,能否指导一下呢?我的QQ是:443872600 谢谢

  16. ngm_hou

    问答列表分页好像不对,怎么办?

  17. 小英

    谢分享,我织梦是安装地子目录dec下面不是网站根目录下,在后台模块设置中:二级目录域名填:dec/ask
    其它的都跟你一样操作,出现几个问题:1.没有登入会员时,不能访问问题详情页面,提示要登入。2.会员登入后,问答、提问时路径不对。需要做什么调整?我QQ一直在线,麻烦指导下。822188518

  18. dayouxia

    谢谢作者。按照作者的做了,全部都正常,只有一个原版就有的问题:伪静态后,回答者无法编辑自己的回答(内容调不出来,一片空白,但是不启用伪静态是正常的)
    求解决方法,可以适当付费

  19. tjwv

    你的教程相当给力。dedecms我已经把问答全站伪静态了。只有列表分页不对路。ask/browser-2-4?page=3 出现这样的路劲。改成ask/browser-2-4-page-3.html 这样就对了。但我不会修改PHP函数,请小拼帮忙改下。非常感激!QQ122470961

  20. tjwv

    呵呵原来是我自己的问题。有个PHP没覆盖。

  21. 李 勇

    @tjwv
    嗯,解决了就好,我主要是提供思路,分享一下,现在的人自私的多

  22. 签约幸福

    你好,我根据这个设置了问答伪静态后不起作用,一直提示The requested URL was not found on this server。为什么呢?后台系统设置里我选择了rewrite为是,htaccess放在网站根目录下。RewriteEngine On
    RewriteRule ^index.html$ index.php
    RewriteRule ^browser-([0-9]+).html$ ?ct=browser&lm=$1
    然后
    原:
    <!– 精彩推荐 –>
    改:
    精彩推荐
    我用的5.7
    apace都设置了。
    麻烦帮我看看好吗,急用,我弄了一上午了还是这样

  23. 我的打不开

    按照操作一步步安装的,为什么我的不行呀?另外我做了测试,把后台的Rewrite关闭也,后台模块那里点击问答管理下面的链接都是404页面。望回复!

    • 李 勇

      1、有没有修改模板中URL是静态化的URL;2、伪静态组件兼容问题,不同组件对应的规则是不一样的写法的,要看你的测试环境。

  24. 小萨

    非常有用 😛

    • 李 勇

      谢谢!

  25. dede联动地区筛选iis版伪静态规则

    dede联动地区筛选iis版伪静态规则你会写吗?帮忙给我看下 QQ:1171636142
    子站:链接形式:域名/子站文件夹/plus/list.php?channelid=-8&tid=6&nativeplace=6500&two=6500&infotype=0
    实现效果:像dede文章页静态形式 目录/静态文章页名称

评论加载中...

给我留言

图片 表情