您当前的位置: 首页 > CMS教程 > 织梦CMS教程 > 织梦dedecms 问答模块静态化

织梦dedecms 问答模块静态化

作者:xiaoxiao 来源:未知 发布时间: 2013-10-20 12:53 点击:
DedeCMS 5.7问答伪静态高级解决方案 1)你的主机是否支持伪静态?这点很重要,不然下面说再多也是白搭。简单说明下,Apache服务器伪静态实现需要借助.htaccess文件;IIS服务器伪静态实现则需要加载Rewrite 组件,然后配置httpd.ini文件; 2)DedeCMS V5.7管理后台-系统

织梦dedecms 问答模块静态化

DedeCMS 5.7问答伪静态高级解决方案
  
  1)你的主机是否支持伪静态?这点很重要,不然下面说再多也是白搭。简单说明下,Apache服务器伪静态实现需要借助.htaccess文件;IIS服务器伪静态实现则需要加载Rewrite
  
  组件,然后配置httpd.ini文件;
  
  2)DedeCMS V5.7管理后台-系统-系统基本参数-模块设置,“是否使用Rewrite”选择“是”,“问答模块的二级域名”填写“ask”;
  
  这里为什么要填写问答模块的二级域名?因为小拼的伪静态修改方法是参考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
  
  其实这种现象的产生,主要是模板里链接的路径问题,采用的都是相对路径。而启用问答模块的二级域名,再结合模板修改就可以很好的解决。当然,你也可以修改模板,实现问
  
  答全站伪静态,只需多加几条伪静态规则即可。
  
  3)DedeCMS 5.7问答伪静态规则
  
  IIS服务器伪静态规则,在httpd.ini文件中加入:
  
  #问答首页
  
  #RewriteRule ^(.*)/index\.html $1/index\.php
  
  #问答详细页
  
  RewriteRule ^(.*)/question-([0-9]+)\.html $1/\?ct=question&askaid=$2
  
  #问答一级栏目
  
  RewriteRule ^(.*)/browser-1-([0-9]+)\.html $1/\?ct=browser&tid=$2
  
  #问答一级栏目分页
  
  RewriteRule ^(.*)/browser-1-([0-9]+)-page-([0-9]+)\.html $1/\?ct=browser&tid=$2&page=$3
  
  #问答子栏目
  
  RewriteRule ^(.*)/browser-2-([0-9]+)\.html $1/\?ct=browser&tid2=$2
  
  #问答子栏目分页
  
  RewriteRule ^(.*)/browser-2-([0-9]+)-page-([0-9]+)\.html $1/\?ct=browser&tid2=$2&page=$3
  
  # 精彩推荐、待解决问题、高悬赏问题、新解决问题、零回答问题、快到期问题(包括一级栏目、子栏目及其分页)
  
  RewriteRule ^(.*)/browser-([0-9]+).html $1/\?ct=browser&lm=$2
  
  RewriteRule ^(.*)/browser-([0-9]+)-page-([0-9]+)\.html $1/\?ct=browser&lm=$2&page=$3
  
  RewriteRule ^(.*)/browser-1-([0-9]+)-([0-9]+)\.html $1/\?ct=browser&tid=$2&lm=$3
  
  RewriteRule ^(.*)/browser-1-([0-9]+)-([0-9]+)-page-([0-9]+)\.html $1/\?ct=browser&tid=$2&lm=$3&page=$4
  
  RewriteRule ^(.*)/browser-2-([0-9]+)-([0-9]+)\.html $1/\?ct=browser&tid2=$2&lm=$3
  
  RewriteRule ^(.*)/browser-2-([0-9]+)-([0-9]+)-page-([0-9]+)\.html $1/\?ct=browser&tid2=$2&lm=$3&page=$4
  
  #全部分类
  
  RewriteRule ^(.*)/type.html $1/\?ct=type
  
  #问答搜索
  
  RewriteRule ^(.*)/search\.html $1/\?ct=search
  
  #总积分排行 周积分上升排行 查看个人信息
  
  RewriteRule ^(.*)/myask-view-([0-9]+)\.html $1/\?ct=myask&ac=view&mid=$2
  
  Apache服务器伪静态规则,在.htaccess文件中加入:
  
  RewriteRule ^index.html$ index.php
  
  RewriteRule ^question-([0-9]+).html$ ?ct=question&askaid=$1
  
  RewriteRule ^browser-1-([0-9]+).html$ ?ct=browser&tid=$1
  
  RewriteRule ^browser-1-([0-9]+)-page-([0-9]+).html$ ?ct=browser&tid=$2&page=$3
  
  RewriteRule ^browser-2-([0-9]+).html$ ?ct=browser&tid2=$1
  
  RewriteRule ^browser-2-([0-9]+)-page-([0-9]+).html$ ?ct=browser&tid2=$2&page=$3
  
  RewriteRule ^browser-([0-9]+).html$ ?ct=browser&lm=$1
  
  RewriteRule ^browser-([0-9]+)-page-([0-9]+).html$ ?ct=browser&lm=$1&page=$2
  
  RewriteRule ^browser-1-([0-9]+)-([0-9]+).html$ ?ct=browser&tid=$1&lm=$2
  
  RewriteRule ^browser-2-([0-9]+)-([0-9]+)-page-([0-9]+).html$ ?ct=browser&tid2=$1&lm=$2&page=$3
  
  RewriteRule ^browser-2-([0-9]+)-([0-9]+).html$ ?ct=browser&tid2=$2&lm=$3
  
  RewriteRule ^browser-2-([0-9]+)-([0-9]+)-page-([0-9]+).html$ ?ct=browser&tid2=$1&lm=$2&page=$3
  
  RewriteRule ^type$ ?ct=type
  
  RewriteRule ^search.html$ ?ct=search
  
  RewriteRule ^myask-view-([0-9]+).html$ ?ct=myask&ac=view&mid=$1
  
  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 5.7问答模块伪静态的实现方法就介绍到这里,有什么不明白的地方请在下面留言。

分享到:
本文"织梦dedecms 问答模块静态化"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(1)
100%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4