Apache 服务器如何将织梦(DEDECMS)问答模块设置成伪静态

  • 作者:程大白
  • web前端
  • 时间:2020-07-16
  • 人已阅读
        大白前些天想在网站上添加一个问答栏目,本以为就是很简单的一个模板就可以了(就跟网站似的)。后来发现并没有那么简单,首先问答栏目跟我们平常的发文章或者简单的回复(一篇文章后面可以设置让别人回复)不同。这是一个系统或者说是一个模块,在网上搜索一番之后,才知道织梦是有问答模块的。所以大白就果断在织梦上下载安装了这个模块。如果有小伙伴们有想弄的话,我会在后面在写一份怎么在网站添加。(毕竟也还有像我一样不太会的小白)

 
  扯的有点远了,我们回到正题,在安装织梦模块之后发现在/ask/后面的链接地址都是动态的,这样不利于收录所以我就想改成伪静态HTML形式。然后又百度去了,结果怎么说呢,各种方式都有,但是靠谱的,呵呵!!!
 
  这里介绍一个靠谱的,我试过了,有效。但是有一个问题,什么问题等我先发下网上的代码再说。
 
  1.在网站根目录下创建 .htaccess 文件,内容如下(相关正则可自己手动修改)
 
  RewriteEngine On
 
  RewriteBase /
 
  RewriteRule ^(.*)/question-id-([0-9]+)\.html$ $1/question\.php\?id=$2
 
  RewriteRule ^(.*)/browser-tid-([0-9]+)\.html$ $1/browser\.php\?tid=$2
 
  RewriteRule ^(.*)/browser-tid2-([0-9]+)\.html$ $1/browser\.php\?tid2=$2
 
  RewriteRule ^(.*)/browser-lm-([0-9]+)\.html$ $1/browser\.php\?lm=$2
 
  RewriteRule ^(.*)/browser-tid-([0-9]+)-lm-([0-9]+)\.html$ $1/browser\.php\?tid=$2&lm=$3
 
  RewriteRule ^(.*)/browser-tid2-([0-9]+)-lm-([0-9]+)\.html$ $1/browser\.php\?tid2=$2&lm=$3
 
  RewriteRule ^(.*)index\.html$ $1/index.php
 
  RewriteRule ^(.*)list-([0-9]+)\.html$ $1/plus/list.php?tid=$2
 
  RewriteRule ^(.*)list-([0-9]+)-([0-9]+)\.html$ $1/plus/list.php?typeid=$2&PageNo=$3
 
  RewriteRule ^(.*)view-([0-9]+).html$ $1/plus/view.php?aid=$2
 
  RewriteRule ^(.*)view-([0-9]+)-([0-9]+).html$ $1/plus/view.php?aid=$2&pageno=$3
 
  2.dedecms后台【系统】–>【系统基本参数设置】–>【模块设置】–>“是否使用Rewrite”,选择“是”,保存
 
  然后我放到了网站的根目录,确实有效了,问答模块都变成了类似/ask/question-id-13.html这样的链接。但是当我打开我的首页的时候发现首页直接打不开了,显示访问出错(不是404),而且首页的链接后面多了个index.html。然后凡是我网站的栏目比如/news/、/about/、/life/等等只要在后面加上index.html就显示访问出错。接着第三次百度了下,折腾了几个小时没搞定。后来看到一个人的回复说是可能以为伪静态的设置,如果删掉.htaccess 文件就能正常访问首页了(都删了我还辛辛苦苦的弄问答模块伪静态干啥)。不过对方倒是提供了一个思路,是上面的这个设置伪静态的代码有问题。
 
  几番尝试之后发现是RewriteRule ^(.*)index\.html$ $1/index.php这段代码的问题。改了几次都没有成功,结果你猜怎么找,我把这段删掉之后问题竟然解决了!!!对,这就是大白想说的,把上述这段代码中的这句删掉就可以了。哈哈哈,我都快疯了!
 
说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!
Top