找回密码
 注册会员
搜索

本文来自

Discuz 技术交流区

Discuz 技术交流区

订阅|关注

请添加对本版块的简短描述

297

主题

314

帖子

2343

积分

管理员

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
2343

[教程] 详解如何设置Discuz论坛伪静态

[复制链接]
跳转到指定楼层
楼主
39650 xiaoxiao 发表于 2014-10-9 10:44:04
本帖最后由 xiaoxiao 于 2014-10-9 10:54 编辑

进入后台,找到“全局”——“SEO设置”,如图,把右边“可用”下方的框全给勾选


此时你到网站首页,刷新一下,你会看到你的网站地址全变成了伪静态,也就是html结尾的文章或者栏目地址,但是你点进去,会发现出现无法打开页面,是因为你设置了伪静态,却没做伪静态处理,不同的主机,使用不同的伪静态规则才能使之实现伪静态。

如果你的是Apache主机,请把下面代码复制到记事本,保存为.htaccess并上传到空间根目录即可
  1. # Helicon ISAPI_Rewrite configuration file
  2. # Version 3.1.0.82

  3. # 将 RewriteEngine 模式打开
  4. RewriteEngine On

  5. # 修改以下语句中的 /discuz 为你的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 /
  6. RewriteBase /

  7. # Rewrite 系统规则请勿修改
  8. RewriteCond %{QUERY_STRING} ^(.*)$
  9. RewriteRule ^topic-(.+)\.html$ portal.php?mod=topic&topic=$1&%1
  10. RewriteCond %{QUERY_STRING} ^(.*)$
  11. RewriteRule ^article-([0-9]+)-([0-9]+)\.html$ portal.php?mod=view&aid=$1&page=$2&%1
  12. RewriteCond %{QUERY_STRING} ^(.*)$
  13. RewriteRule ^forum-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
  14. RewriteCond %{QUERY_STRING} ^(.*)$
  15. RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ forum.php?mod=viewthread&tid=$1&extra=page\%3D$3&page=$2&%1
  16. RewriteCond %{QUERY_STRING} ^(.*)$
  17. RewriteRule ^group-([0-9]+)-([0-9]+)\.html$ forum.php?mod=group&fid=$1&page=$2&%1
  18. RewriteCond %{QUERY_STRING} ^(.*)$
  19. RewriteRule ^space-(username|uid)-(.+)\.html$ home.php?mod=space&$1=$2&%1
  20. RewriteCond %{QUERY_STRING} ^(.*)$
  21. RewriteRule ^blog-([0-9]+)-([0-9]+)\.html$ home.php?mod=space&uid=$1&do=blog&id=$2&%1
  22. RewriteCond %{QUERY_STRING} ^(.*)$
  23. RewriteRule ^archiver/(fid|tid)-([0-9]+)\.html$ archiver/index.php?action=$1&value=$2&%1
  24. RewriteCond %{QUERY_STRING} ^(.*)$
  25. RewriteRule ^([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ plugin.php?id=$1:$2&%1
复制代码

如果你是IIS主机,复制下面代码到记事本,保存为http.ini然后上传到空间根目录即可
  1. [ISAPI_Rewrite]

  2. # 3600 = 1 hour
  3. CacheClockRate 3600

  4. RepeatLimit 32

  5. # Protect httpd.ini and httpd.parse.errors files
  6. # from accessing through HTTP
  7. RewriteRule ^(.*)/topic-(.+)\.html(\?(.*))*$ $1/portal\.php\?mod=topic&topic=$2&$4
  8. RewriteRule ^(.*)/article-([0-9]+)-([0-9]+)\.html(\?(.*))*$ $1/portal\.php\?mod=view&aid=$2&page=$3&$5
  9. RewriteRule ^(.*)/forum-(\w+)-([0-9]+)\.html(\?(.*))*$ $1/forum\.php\?mod=forumdisplay&fid=$2&page=$3&$5
  10. RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html(\?(.*))*$ $1/forum\.php\?mod=viewthread&tid=$2&extra=page\%3D$4&page=$3&$6
  11. RewriteRule ^(.*)/group-([0-9]+)-([0-9]+)\.html(\?(.*))*$ $1/forum\.php\?mod=group&fid=$2&page=$3&$5
  12. RewriteRule ^(.*)/space-(username|uid)-(.+)\.html(\?(.*))*$ $1/home\.php\?mod=space&$2=$3&$5
  13. RewriteRule ^(.*)/blog-([0-9]+)-([0-9]+)\.html(\?(.*))*$ $1/home\.php\?mod=space&uid=$2&do=blog&id=$3&$5
  14. RewriteRule ^(.*)/(fid|tid)-([0-9]+)\.html(\?(.*))*$ $1/index\.php\?action=$2&value=$3&$5
  15. RewriteRule ^(.*)/([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html(\?(.*))*$ $1/plugin\.php\?id=$2:$3&$5
复制代码



注意:
.htaccess是无法保存的,因此可以先保存成htaccess。
然后FTP上传至网站跟目录后。修改文件名为.htaccess

如果不生效的话:
1:进入后台,找到“工具”——“更新缓存”
2:重启Apache服务,或者虚拟主机里重启站点








回复

使用道具 举报

快速回复 返回顶部 返回列表