当前位置:首页 > CMS教程 > DeDecms > 列表

DedeCMS V5.7问答伪静态配置方法

发布:smiling 来源: PHP粉丝网  添加日期:2015-02-24 21:30:01 浏览: 评论:0 

由于织梦问答模块升级,使用了新的URL形式,历史版本的问答系统伪静态规则已经不适用于新版了,这也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”结尾,相信对使用过历史版本问答系统的朋友都不会陌生。

如: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文件中加入如下代码:

  1. #问答首页 
  2. #RewriteRule ^(.*)/index.html $1/index.php [I] 
  3. #问答详细页 
  4. RewriteRule ^(.*)/question-([0-9]+).html $1/?ct=question&askaid=$2 [I] 
  5. #问答一级栏目 
  6. RewriteRule ^(.*)/browser-1-([0-9]+).html $1/?ct=browser&tid=$2 [I] 
  7. #问答一级栏目分页 
  8. RewriteRule ^(.*)/browser-1-([0-9]+)-page-([0-9]+).html $1/?ct=browser&tid=$2&page=$3 [I] 
  9. #问答子栏目 
  10. RewriteRule ^(.*)/browser-2-([0-9]+).html $1/?ct=browser&tid2=$2 [I] 
  11. #问答子栏目分页 
  12. RewriteRule ^(.*)/browser-2-([0-9]+)-page-([0-9]+).html $1/?ct=browser&tid2=$2&page=$3 [I] 
  13. # 精彩推荐、待解决问题、高悬赏问题、新解决问题、零回答问题、快到期问题(包括一级栏目、子栏目及其分页) 
  14. RewriteRule ^(.*)/browser-([0-9]+).html $1/?ct=browser&lm=$2 [I] 
  15. RewriteRule ^(.*)/browser-([0-9]+)-page-([0-9]+).html $1/?ct=browser&lm=$2&page=$3 [I] 
  16. RewriteRule ^(.*)/browser-1-([0-9]+)-([0-9]+).html $1/?ct=browser&tid=$2&lm=$3 [I] 
  17. RewriteRule ^(.*)/browser-1-([0-9]+)-([0-9]+)-page-([0-9]+).html $1/?ct=browser&tid=$2&lm=$3&page=$4 [I] 
  18. RewriteRule ^(.*)/browser-2-([0-9]+)-([0-9]+).html $1/?ct=browser&tid2=$2&lm=$3 [I] 
  19. RewriteRule ^(.*)/browser-2-([0-9]+)-([0-9]+)-page-([0-9]+).html $1/?ct=browser&tid2=$2&lm=$3&page=$4 [I] 
  20. #全部分类 
  21. RewriteRule ^(.*)/type.html $1/?ct=type [I] 
  22. #问答搜索    phpfensi.com 
  23. RewriteRule ^(.*)/search.html $1/?ct=search [I] 
  24. #总积分排行 周积分上升排行 查看个人信息 
  25. RewriteRule ^(.*)/myask-view-([0-9]+).html $1/?ct=myask&ac=view&mid=$2  

[I]Apache服务器伪静态规则,在.htaccess文件中加入如下代码:

  1. RewriteRule ^index.html$ index.php 
  2. RewriteRule ^question-([0-9]+).html$ ?ct=question&askaid=$1 
  3. RewriteRule ^browser-1-([0-9]+).html$ ?ct=browser&tid=$1 
  4. RewriteRule ^browser-1-([0-9]+)-page-([0-9]+).html$ ?ct=browser&tid=$2&page=$3 
  5. RewriteRule ^browser-2-([0-9]+).html$ ?ct=browser&tid2=$1 
  6. RewriteRule ^browser-2-([0-9]+)-page-([0-9]+).html$ ?ct=browser&tid2=$2&page=$3 
  7. RewriteRule ^browser-([0-9]+).html$ ?ct=browser&lm=$1 
  8. RewriteRule ^browser-([0-9]+)-page-([0-9]+).html$ ?ct=browser&lm=$1&page=$2 
  9. RewriteRule ^browser-1-([0-9]+)-([0-9]+).html$ ?ct=browser&tid=$1&lm=$2 
  10. RewriteRule ^browser-2-([0-9]+)-([0-9]+)-page-([0-9]+).html$ ?ct=browser&tid2=$1&lm=$2&page=$3 
  11. RewriteRule ^browser-2-([0-9]+)-([0-9]+).html$ ?ct=browser&tid2=$2&lm=$3 
  12. RewriteRule ^browser-2-([0-9]+)-([0-9]+)-page-([0-9]+).html$ ?ct=browser&tid2=$1&lm=$2&page=$3 
  13. RewriteRule ^type$ ?ct=type 
  14. RewriteRule ^search.html$ ?ct=search 
  15. RewriteRule ^myask-view-([0-9]+).html$ ?ct=myask&ac=view&mid=$1

Tags: DedeCMS问答 DedeCMS伪静态配置

分享到: