您现在的位置是:首页 > 教程 > dedecms教程dedecms教程
织梦cms5.7问答伪静态的实现方法
春儿2023-10-19 22:20:53dedecms教程已有人查阅
导读这两天逛了下织梦论坛,发现很多站长朋友对DedeCMS 5.7问答模块的伪静态问题比较关心,普遍反映之前DedeCMS 5.5、5.6的问答伪静态规则不能用了。
这两天逛了下织梦论坛,发现很多站长朋友对DedeCMS 5.7问答模块的伪静态问题比较关心,普遍反映之前DedeCMS 5.5、5.6的问答伪静态规则不能用了。事实上,DedeCMS 5.7问答伪静态的实现并不复杂,只要弄清楚伪静态的实现原理和思路,还是很容易搞定的。今天,小拼就分享下DedeCMS 5.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文件;
2)DedeCMS V5.7管理后台-系统-系统基本参数-模块设置,“是否使用Rewrite”选择“是”,“问答模块的二级域名”填写“ask”;
这里为什么要填写问答模块的二级域名?因为小拼的伪静态修改方法是参考DedeCMS V5.5和5.6问答的URL形式,目标URL以“.html”结尾,相信对使用过历史版本问答系统的朋友都不会陌生。
如:/ask/question-4.html这样的URL在DedeCMS V5.7中会有一个问题,许多以“?ct=”开头的链接都会访问不了,如“我的提问”、“我的回答”、“提高悬赏”、“编辑/删除问题”等,会产生404错误页面。
如:/ask/question-4.html?ct=myask其实这种现象的产生,主要是模板里链接的路径问题,采用的都是相对路径。而启用问答模块的二级域名,再结合模板修改就可以很好的解决。当然,你也可以修改模板,实现问答全站伪静态,只需多加几条伪静态规则即可。
3)修改DedeCMS 5.7问答模块码源和模板,考虑到个别站长对HTML和PHP代码不太熟悉,下面直接把小拼修改好的问答模块共享出来:
DedeCMS 5.7问答模块源码修改+伪静态规则
下载完毕后,直接覆盖就可以使用了,小拼不干“坑爹”的事,都是官方源码基础上修改的,绝无第三方垃圾信息存在,放心去用吧:-)
DedeCMS 5.7问答伪静态修改注意事项
1)注意备份你站点的ask文件夹,防止出错,方便还原;
2)以上的问答伪静态仅供DedeCMS5.7 GBK版本使用,UTF版本请自行转换下代码;
3)考虑到SEO,很多织梦老用户都是V5.1~V5.6版本升级至V5.7的,小拼提供的修改办法保证了历史问答版本URL的一致性,否则URL改变是很影响搜索引擎收录和排名的;
4)你可以参考下小拼的问答伪静态实现思路,总结出一套符合个人站点风格的伪静态方法。
DedeCMS 5.7问答伪静态初级解决方案
如果你怕麻烦,还心存疑虑,那就直接使用官方默认的伪静态方法了,仅实现问答栏目页和详细页的伪静态,可以使用下面的伪静态规则:
IIS服务器,在httpd.ini文件中加入:
我们先来看下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文件;
2)DedeCMS V5.7管理后台-系统-系统基本参数-模块设置,“是否使用Rewrite”选择“是”,“问答模块的二级域名”填写“ask”;
这里为什么要填写问答模块的二级域名?因为小拼的伪静态修改方法是参考DedeCMS V5.5和5.6问答的URL形式,目标URL以“.html”结尾,相信对使用过历史版本问答系统的朋友都不会陌生。
如:/ask/question-4.html这样的URL在DedeCMS V5.7中会有一个问题,许多以“?ct=”开头的链接都会访问不了,如“我的提问”、“我的回答”、“提高悬赏”、“编辑/删除问题”等,会产生404错误页面。
如:/ask/question-4.html?ct=myask其实这种现象的产生,主要是模板里链接的路径问题,采用的都是相对路径。而启用问答模块的二级域名,再结合模板修改就可以很好的解决。当然,你也可以修改模板,实现问答全站伪静态,只需多加几条伪静态规则即可。
3)修改DedeCMS 5.7问答模块码源和模板,考虑到个别站长对HTML和PHP代码不太熟悉,下面直接把小拼修改好的问答模块共享出来:
DedeCMS 5.7问答模块源码修改+伪静态规则
下载完毕后,直接覆盖就可以使用了,小拼不干“坑爹”的事,都是官方源码基础上修改的,绝无第三方垃圾信息存在,放心去用吧:-)
DedeCMS 5.7问答伪静态修改注意事项
1)注意备份你站点的ask文件夹,防止出错,方便还原;
2)以上的问答伪静态仅供DedeCMS5.7 GBK版本使用,UTF版本请自行转换下代码;
3)考虑到SEO,很多织梦老用户都是V5.1~V5.6版本升级至V5.7的,小拼提供的修改办法保证了历史问答版本URL的一致性,否则URL改变是很影响搜索引擎收录和排名的;
4)你可以参考下小拼的问答伪静态实现思路,总结出一套符合个人站点风格的伪静态方法。
DedeCMS 5.7问答伪静态初级解决方案
如果你怕麻烦,还心存疑虑,那就直接使用官方默认的伪静态方法了,仅实现问答栏目页和详细页的伪静态,可以使用下面的伪静态规则:
IIS服务器,在httpd.ini文件中加入:
#问答首页
#RewriteRule ^(.*)/index\.html $1/index\.php
#问答详细页
RewriteRule ^(.*)/([0-9]+)\.html $1/\?ct=question&askaid=$2
#问答一级栏目
#RewriteRule ^(.*)/([0-9]+) $1/\?ct=browser&tid=$2
#问答子栏目
#RewriteRule ^(.*)/t([0-9]+) $1/\?ct=browser&tid2=$2
Apache服务器,在.htaccess文件中加入:
RewriteRule ^index.html$ index.php
RewriteRule ^([0-9]+).html$ ?ct=question&askaid=$1
RewriteRule ^([0-9]+)$ ?ct=browser&tid=$1
RewriteRule ^t([0-9]+)$ ?ct=browser&tid2=$1
本文标签:
很赞哦! ()
相关文章
随机图文
-
dedecms循环调用二级栏目下三级栏目的代码示例
后台已经建好栏目,对于产品展示栏 栏目导航所示:如果用以上代码的话,前台页面的显示将不太令人满意。对于有子类的二级目录,将会正确显示其子类,那些没有子类的 将显示其同类列表。 -
登录dedecms后台提示Function ereg_replace()的解决方法
部分用户在还原数据库后登录织梦管理后台就会会提示Function ereg_replace()错误,这个问题我记得以前有遇到的,是在本地调试dedecms整站程序的时候 -
适合企业站的织梦标签大全归类整理
对于企业站而言其实不用了解那么多标签,在这里分享下自己总结的适合企业站的标签大全,希望大家收藏,以备不时之需。织梦标签范围很广泛 -
dede织梦cms搜索指定多栏目下文章的两种方法
共有两种方式,通过测试第一种比较的好用。如果只是单独的调用一个栏目那么用第二种方法比较的好。把sql语句换成我这两句,括号里面的是你不搜索栏目的id
留言与评论 (共有 条评论) |
大家在看
本栏推荐
相关标签
大家喜欢
- dedecms自动给已经发布过的文章关键词加超链接的方法
- 织梦dedecms栏目页添加数字递增的方法
- dedecms获取文档当前栏目所在目录链接URL的方法
- 织梦DedeCMS5.7栏目绑定二级域名的方法
- DedeCMS防止恶意提交自定义表单设置为必填项的方法
- 织梦dedecms实现新建php页面且模板支持读取标签的方法
- dede织梦提示Fatal error: Call to a member function GetInnerText()
- 检测密码强度的实现方法代码示例
- 织梦dedecms列表页标签list/pagelist使用方法和pagelist的样式
- dedecms提示用户名不存在造成的原因