Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[已解决] 分享Discuz 3.0官方自动获取的伪静态规则

[复制链接]
YYQTYZH 发表于 2013-5-29 01:53:04 | 显示全部楼层 |阅读模式
本帖最后由 YYQTYZH 于 2013-5-29 01:59 编辑

很多站长安装论坛后都会设置SEO伪静态,Discuz 3.0 在后台全局里面勾选并开启SEO伪静态之后可以自动获取相应的伪静态规则的,不过由于各种原因自动获取规则后部分论坛的伪静态url页面都变成404错误提示页面了,所以还是自己把伪静态规则老老实实添加到根目录吧。
以下是X3.0版官方提供的默认伪静态规则,不会添加的新站长可以去参照一下2.0或2.5版的伪静态规则添加方法。
Apache Web Server(独立主机用户)
  1. <IfModule mod_rewrite.c>
  2.         RewriteEngine On
  3.         RewriteCond %{QUERY_STRING} ^(.*)$
  4.         RewriteRule ^(.*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2&%1
  5.         RewriteCond %{QUERY_STRING} ^(.*)$
  6.         RewriteRule ^(.*)/article-([0-9]+)-([0-9]+)\.html$ $1/portal.php?mod=view&aid=$2&page=$3&%1
  7.         RewriteCond %{QUERY_STRING} ^(.*)$
  8.         RewriteRule ^(.*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3&%1
  9.         RewriteCond %{QUERY_STRING} ^(.*)$
  10.         RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page\%3D$4&page=$3&%1
  11.         RewriteCond %{QUERY_STRING} ^(.*)$
  12.         RewriteRule ^(.*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3&%1
  13.         RewriteCond %{QUERY_STRING} ^(.*)$
  14.         RewriteRule ^(.*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3&%1
  15.         RewriteCond %{QUERY_STRING} ^(.*)$
  16.         RewriteRule ^(.*)/blog-([0-9]+)-([0-9]+)\.html$ $1/home.php?mod=space&uid=$2&do=blog&id=$3&%1
  17.         RewriteCond %{QUERY_STRING} ^(.*)$
  18.         RewriteRule ^(.*)/(fid|tid)-([0-9]+)\.html$ $1/index.php?action=$2&value=$3&%1
  19. </IfModule>
复制代码
Apache Web Server(虚拟主机用户)
  1. # 将 RewriteEngine 模式打开
  2. RewriteEngine On

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

  5. # Rewrite 系统规则请勿修改
  6. RewriteCond %{QUERY_STRING} ^(.*)$
  7. RewriteRule ^topic-(.+)\.html$ portal.php?mod=topic&topic=$1&%1
  8. RewriteCond %{QUERY_STRING} ^(.*)$
  9. RewriteRule ^article-([0-9]+)-([0-9]+)\.html$ portal.php?mod=view&aid=$1&page=$2&%1
  10. RewriteCond %{QUERY_STRING} ^(.*)$
  11. RewriteRule ^forum-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
  12. RewriteCond %{QUERY_STRING} ^(.*)$
  13. RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ forum.php?mod=viewthread&tid=$1&extra=page\%3D$3&page=$2&%1
  14. RewriteCond %{QUERY_STRING} ^(.*)$
  15. RewriteRule ^group-([0-9]+)-([0-9]+)\.html$ forum.php?mod=group&fid=$1&page=$2&%1
  16. RewriteCond %{QUERY_STRING} ^(.*)$
  17. RewriteRule ^space-(username|uid)-(.+)\.html$ home.php?mod=space&$1=$2&%1
  18. RewriteCond %{QUERY_STRING} ^(.*)$
  19. RewriteRule ^blog-([0-9]+)-([0-9]+)\.html$ home.php?mod=space&uid=$1&do=blog&id=$2&%1
  20. RewriteCond %{QUERY_STRING} ^(.*)$
  21. RewriteRule ^archiver/(fid|tid)-([0-9]+)\.html$ archiver/index.php?action=$1&value=$2&%1
复制代码
IIS Web Server(独立主机用户)
  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
复制代码
IIS7 Web Server(独立主机用户)
  1. <rewrite>
  2.         <rules>
  3.                 <rule name="portal_topic">
  4.                         <match url="^(.*/)*topic-(.+).html\?*(.*)[        DISCUZ_CODE_3        ]quot; />
  5.                         <action type="Rewrite" url="{R:1}/portal.php\?mod=topic&topic={R:2}&{R:3}" />
  6.                 </rule>
  7.                 <rule name="portal_article">
  8.                         <match url="^(.*/)*article-([0-9]+)-([0-9]+).html\?*(.*)[        DISCUZ_CODE_3        ]quot; />
  9.                         <action type="Rewrite" url="{R:1}/portal.php\?mod=view&aid={R:2}&page={R:3}&{R:4}" />
  10.                 </rule>
  11.                 <rule name="forum_forumdisplay">
  12.                         <match url="^(.*/)*forum-(\w+)-([0-9]+).html\?*(.*)[        DISCUZ_CODE_3        ]quot; />
  13.                         <action type="Rewrite" url="{R:1}/forum.php\?mod=forumdisplay&fid={R:2}&page={R:3}&{R:4}" />
  14.                 </rule>
  15.                 <rule name="forum_viewthread">
  16.                         <match url="^(.*/)*thread-([0-9]+)-([0-9]+)-([0-9]+).html\?*(.*)[        DISCUZ_CODE_3        ]quot; />
  17.                         <action type="Rewrite" url="{R:1}/forum.php\?mod=viewthread&tid={R:2}&extra=page%3D{R:4}&page={R:3}&{R:5}" />
  18.                 </rule>
  19.                 <rule name="group_group">
  20.                         <match url="^(.*/)*group-([0-9]+)-([0-9]+).html\?*(.*)[        DISCUZ_CODE_3        ]quot; />
  21.                         <action type="Rewrite" url="{R:1}/forum.php\?mod=group&fid={R:2}&page={R:3}&{R:4}" />
  22.                 </rule>
  23.                 <rule name="home_space">
  24.                         <match url="^(.*/)*space-(username|uid)-(.+).html\?*(.*)[        DISCUZ_CODE_3        ]quot; />
  25.                         <action type="Rewrite" url="{R:1}/home.php\?mod=space&{R:2}={R:3}&{R:4}" />
  26.                 </rule>
  27.                 <rule name="home_blog">
  28.                         <match url="^(.*/)*blog-([0-9]+)-([0-9]+).html\?*(.*)[        DISCUZ_CODE_3        ]quot; />
  29.                         <action type="Rewrite" url="{R:1}/home.php\?mod=space&uid={R:2}&do=blog&id={R:3}&{R:4}" />
  30.                 </rule>
  31.                 <rule name="forum_archiver">
  32.                         <match url="^(.*/)*(fid|tid)-([0-9]+).html\?*(.*)[        DISCUZ_CODE_3        ]quot; />
  33.                         <action type="Rewrite" url="{R:1}/index.php\?action={R:2}&value={R:3}&{R:4}" />
  34.                 </rule>
  35.         </rules>
  36. </rewrite>
复制代码
Zeus Web Server
  1. match URL into $ with ^(.*)/topic-(.+)\.html\?*(.*)$
  2. if matched then
  3.         set URL = $1/portal.php?mod=topic&topic=$2&$3
  4. endif
  5. match URL into $ with ^(.*)/article-([0-9]+)-([0-9]+)\.html\?*(.*)$
  6. if matched then
  7.         set URL = $1/portal.php?mod=view&aid=$2&page=$3&$4
  8. endif
  9. match URL into $ with ^(.*)/forum-(\w+)-([0-9]+)\.html\?*(.*)$
  10. if matched then
  11.         set URL = $1/forum.php?mod=forumdisplay&fid=$2&page=$3&$4
  12. endif
  13. match URL into $ with ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html\?*(.*)$
  14. if matched then
  15.         set URL = $1/forum.php?mod=viewthread&tid=$2&extra=page\%3D$4&page=$3&$5
  16. endif
  17. match URL into $ with ^(.*)/group-([0-9]+)-([0-9]+)\.html\?*(.*)$
  18. if matched then
  19.         set URL = $1/forum.php?mod=group&fid=$2&page=$3&$4
  20. endif
  21. match URL into $ with ^(.*)/space-(username|uid)-(.+)\.html\?*(.*)$
  22. if matched then
  23.         set URL = $1/home.php?mod=space&$2=$3&$4
  24. endif
  25. match URL into $ with ^(.*)/blog-([0-9]+)-([0-9]+)\.html\?*(.*)$
  26. if matched then
  27.         set URL = $1/home.php?mod=space&uid=$2&do=blog&id=$3&$4
  28. endif
  29. match URL into $ with ^(.*)/(fid|tid)-([0-9]+)\.html\?*(.*)$
  30. if matched then
  31.         set URL = $1/index.php?action=$2&value=$3&$4
复制代码
Nginx Web Server
  1. rewrite ^([^\.]*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2 last;
  2. rewrite ^([^\.]*)/article-([0-9]+)-([0-9]+)\.html$ $1/portal.php?mod=view&aid=$2&page=$3 last;
  3. rewrite ^([^\.]*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
  4. rewrite ^([^\.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;
  5. rewrite ^([^\.]*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3 last;
  6. rewrite ^([^\.]*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3 last;
  7. rewrite ^([^\.]*)/blog-([0-9]+)-([0-9]+)\.html$ $1/home.php?mod=space&uid=$2&do=blog&id=$3 last;
  8. rewrite ^([^\.]*)/(fid|tid)-([0-9]+)\.html$ $1/index.php?action=$2&value=$3 last;
  9. if (!-e $request_filename) {
  10.         return 404;
  11. }
复制代码
酷米站长网 发表于 2013-5-29 07:02:32 | 显示全部楼层
感谢楼主的分享
回复

使用道具 举报

crx349 发表于 2013-5-29 08:46:32 | 显示全部楼层
后台的伪静态哦 正品 感谢分享
回复

使用道具 举报

隘口石 发表于 2013-6-22 12:36:48 | 显示全部楼层
IIS7的规则里,DISCUZ_CODE_3  是什么意思
回复

使用道具 举报

xujirun 发表于 2013-7-19 10:20:20 | 显示全部楼层
非常好,谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-23 06:17 , Processed in 0.023105 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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