兔源码网 - 专注DZ模版分享、DZ插件分享!

 找回密码
 立即注册

QQ登录

只需一步,快速开始

广告
温馨提示:本站所有DZ相关模板、插件、教程(包括DZ应用中心已下架插件、模板)皆为提供免费下载,无任何收费模式(不包括VIP版块非DZ资源,VIP版块需充值兔币购买会员组方可下载),用户仅需手动前往【申请下载权限】申请用户组下载权限即可,如本站没有您需要的插件或模板,请自行前往淘宝互站网送吗网等第三方站点搜索相关插件或模板进行低价格购买下载本站非常不建议用户浪费金钱前往DZ应用中心购买。

如何为 Discuz配置伪静态

[复制链接]
tuyuanma 发表于 2017-1-22 23:48:31 | 显示全部楼层 |阅读模式
温馨提醒:禁止内容附带广告图片、二维码图片,否则将在不通知情况下永久禁言账号!
欢迎加入兔源码站长交流群,您的加入是我们前行的动力!

DZ站长建站交流群:493651246

[ 温馨提示:点击上方群文字,可快速加入QQ群 ]


URL 静态化是一个有利于搜索引擎的设置,通过 URL 静态化,达到原来是动态的 PHP 页面转换为静态化的 HTML 页面,可以提高搜索引擎抓取,当然,这里的静态化是一种假静态,目的只是提高搜索引擎的搜索量,下面主要介绍配置方法。
" Q  \% O* G/ `5 Z1 o, @分两种情况,一种是独立主机用户,这部分用户拥有对主机的管理权限,因此配置起来比较方便一些。/ n/ I; w& k" Z8 `

/ V; M+ \+ E; A) n6 _首先确定您使用的 Apache 版本,及是否加载了 mod_Rewrite 模块。 6 O: z8 W- E, k! L9 H5 k
Apache 1.x 的用户请检查 conf/httpd.conf 中是否存在如下两段代码: 1 v$ x- x7 [8 S
LoadModule Rewrite_module libexec/mod_Rewrite.so
# v7 U& @* z  P& k. e) dAddModule mod_Rewrite.c Apache 2.x 的用户请检查 conf/httpd.conf 中是否存在如下一段代码: ' i9 i- R3 @7 V5 ~4 G
LoadModule Rewrite_module modules/mod_Rewrite.so
( _5 r* R* w" p7 ]' j  C5 ?8 l如果存在,那么在配置文件(通常就是 conf/httpd.conf)中加入如下代码。此时请务必注意,如果网站使用通过虚拟主机来定义,请务必加到虚拟主机配置,即  中去,如果加在虚拟主机配置外部将可能无法使用,改好后将 Apache 重启。
; I% a- W1 t, L. z+ ~* [' q1 d  ~! U4 o: a8 i: z' u& H
一、Apache Web Server(独立主机用户)
  1. 6 ^. O( I0 E" X/ G
  2. RewriteEngine On) G- V4 x  f  }! m$ y; E- z) C
  3. RewriteCond %{QUERY_STRING} ^(.*)$5 s/ r: [. O- m; ]( O5 h- U
  4. RewriteRule ^(.*)/topic-(.+).html$ $1/portal.php?mod=topic&topic=$2&%1
    + ?1 n% j3 w% q3 b: O( o
  5. RewriteCond %{QUERY_STRING} ^(.*)$' d* E0 Y+ E! ^9 ~3 I6 D/ _
  6. RewriteRule ^(.*)/forum-(w+)-([0-9]+).html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3&%1
    , J) L  y) M! J1 \
  7. RewriteCond %{QUERY_STRING} ^(.*)$/ t# r$ \" t3 W- z6 t4 n
  8. RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%* h7 w, W& l3 m. g- y: y$ r6 U
  9. 3D$4&page=$3&%1- @" P* n8 i# s1 @7 L( B
  10. RewriteCond %{QUERY_STRING} ^(.*)$! N4 L3 `3 f" Z* y" f. }
  11. RewriteRule ^(.*)/group-([0-9]+)-([0-9]+).html$ $1/forum.php?mod=group&fid=$2&page=$3&%1
      |2 ]  x3 }, ]) ^
  12. RewriteCond %{QUERY_STRING} ^(.*)$
    ; f9 }& t1 z; e1 p& B0 ?
  13. RewriteRule ^(.*)/space-(username|uid)-(.+).html$ $1/home.php?mod=space&$2=$3&%10 N4 w; Z5 o& m7 e* Z, R) x) W
  14. RewriteCond %{QUERY_STRING} ^(.*)$
    : z. w2 U$ r9 l5 I% w8 E, S
  15. RewriteRule ^(.*)/(fid|tid)-([0-9]+).html$ $1/index.php?action=$2&value=$3&%16 G, p; W  T7 Q. G# B- q
复制代码
如果没有安装 mod_Rewrite,您可以重新编译 Apache,并在原有 configure 的内容中加入 --enable-Rewrite=shared,然后再在Apache 配置文件中加入上述代码即可。
* E5 ~: o, @. r9 ^
% i: n2 x- ^! e, U/ W二、Apache Web Server(虚拟主机用户)3 u) p5 T1 E# s! h* P  e

* z0 A/ ?9 p5 }) e' Y- l在开始以下设置之前,请首先咨询您的空间服务商,空间是否支持 Rewrite 以及是否支持对站点目录中 .htaccess 的文件解析,否则即便按照下面的方法设置好了,也无法使用。 ' C0 S, g  v0 y3 B- {) k$ ^5 o" r% a
检查论坛所在目录中是否存在 .htaccess 文件,如果不存在,请手工建立此文件。Win32 系统下,无法直接建立 .htaccess 文件,您可以从其他系统中拷贝一份,编辑并修改 .htaccess 文件,添加以下内容:
  1. # 将 RewriteEngine 模式打开
    + G6 }* R* g4 P  S8 d/ F0 S) b
  2. RewriteEngine On
    ' i0 r- K& g/ S- j$ s! p8 A5 ~
  3. # 修改以下语句中的 /discuz 为你的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 /' ~+ |4 O: W2 w  w/ q& f/ K+ b
  4. RewriteBase /discuz
    " T+ q& x7 O7 ~
  5. # Rewrite 系统规则请勿修改' X; Y1 B  z* z
  6. RewriteCond %{QUERY_STRING} ^(.*)$
    ; Y2 k' S  m! Q# z1 k4 O; E0 u
  7. RewriteRule ^topic-(.+).html$ portal.php?mod=topic&topic=$1&%1
    ; T; J% p9 R! ~0 B' ^4 o
  8. RewriteCond %{QUERY_STRING} ^(.*)$
    # W8 l' d# C7 X7 V* K0 ^
  9. RewriteRule ^forum-(w+)-([0-9]+).html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1# Z2 z& ~8 H  f
  10. RewriteCond %{QUERY_STRING} ^(.*)$
    ' P% h: t' S( }: }8 p. R
  11. RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+).html$ forum.php?mod=viewthread&tid=$1&extra=page%3D$3&page=$2&%1
    ( h. l$ K) v2 k
  12. RewriteCond %{QUERY_STRING} ^(.*)$
    1 p8 q+ z; ]& Y1 }
  13. RewriteRule ^group-([0-9]+)-([0-9]+).html$ forum.php?mod=group&fid=$1&page=$2&%1
    - Y1 c- Y: n8 M$ h& S) A3 W; x
  14. RewriteCond %{QUERY_STRING} ^(.*)$" u- D  S7 D; c( E" ]5 P
  15. RewriteRule ^space-(username|uid)-(.+).html$ home.php?mod=space&$1=$2&%1
    3 N. ]; |! A& z
  16. RewriteCond %{QUERY_STRING} ^(.*)$7 B; a$ t/ m$ C/ o0 Q6 v
  17. RewriteRule ^archiver/(fid|tid)-([0-9]+).html$ archiver/index.php?action=$1&value=$2&%1+ E/ d* o0 t8 C1 a7 |# `; I( X
复制代码
三、IIS Web Server(独立主机用户)- \+ U5 `. ^) l8 A4 m

* v2 n) b3 U& A& e+ f说明:IIS 下的 Rewrite 需要添加组件,通过筛选器的方式实现,下面是组件的下载与配置方法:: P" r$ Y6 s7 c  d3 G$ M. y
IIS Rewrite 下载 zip.gif Rewrite.zip
, ^1 o/ G/ Y% X- E
# ~4 O3 l+ h4 ^% R$ o* IIIS Rewrite 配置; s' w* f7 ~; b3 z
1、将下载的 IIS Rewrite 组件解压,放到任意盘上的任意目录(如 C:Rewrite 下)
; ~4 X  J( J1 }* ^/ ]3 B+ @, s4 _
, `% R9 D- D4 N2 }' l7 ^9 }! C 144808nt984mnhaq4ccnth.gif - X5 l; _6 R7 K: ^( F6 W

$ m, o' {% S: G7 K) \2、在 IIS 管理器里选择网站,右键选择“属性”,如下图所示:5 _3 s1 o' d6 R5 V4 X( m

+ b. h2 J2 o/ v- N' G+ _ 144809je9etbte2m5ztzem.gif
  b) t. C6 s2 M  `3 p
$ T/ |; u# q( t, q( v  d  H在弹出的窗口里选择“ISAPI筛选器”) H4 K3 V0 _# P; h& i
# y! m9 {' J9 k+ ]2 \* w' O
1448095zrp4vtd2w343z3v.gif
# u. |. L2 W" G0 b5 K5 u0 O% v# P* @6 W' X; G' X6 D
上图中点击“添加”,在弹出的窗口里“筛选器名称”填写“rewrite”7 E* k+ `- j& E9 R) F6 v
) Z+ }3 w& A1 K5 v# B4 D) k# l  C5 I
144809chqochckkd1ykky3.gif
; ^( K  D+ s1 u. a7 K; U
4 t- I  J1 s+ ?上图界面中点击“浏览”,选择下载解压后的 IIS Rewrite 组件目录下的 Rewrite.dll 文件
' R- F  r: C6 [2 T4 V
6 n) \) O8 O% H+ r* [ 144810qwizhqbhqyqzlikk.gif.thumb.jpg " i: e1 h1 ~. A& H) S+ |- l

" Q+ h; ?; m$ S+ L0 Z. Y浏览完毕点击“确定”
0 T$ T5 w" n3 h2 d2 G, a% l+ a
, N' q! w  ^5 M8 n* n1 s, K, g 14481063y43bueeeb3ebyx.gif # @' X: T1 o/ p. n1 o/ p. X5 x' u

: H; O( N1 L2 l% H# k* m, M% u添加完毕点击“确定
( B' I$ Q# _- }7 ^/ Z% t5 k4 V2 N+ R8 E
1448109nhzyty74zynwytn.gif
0 r9 P+ l2 K* w" A
  `' e( o# P0 P3 [, A( K重新启动 IIS; D& B# a6 d5 a% s  \: N" A- H

8 @8 h& u, y* ~8 @# t 144810yileeci8fschhkk9.gif 5 C- M! d& W6 F! u) N0 X3 E2 p9 H
; v( B3 N3 l/ g# V! b& M3 h$ P
1448119kdjkaacniiqjj90.gif
3 Y9 `% q# g! d& L9 A& K: @  y* N2 S4 w  C& a9 U: j, h
重新选择该站点 => 右键“属性”=> “ISAPI 筛选器”,如果看到状态为向上的绿色箭头,就说明 Rewrite 模块安装成功了。0 @1 R' @% t3 F1 p' F. h3 b- b0 @1 _

+ p+ }3 Y2 O' G, O- h. N 144811argggshwh50jgqog.gif 4 ]: ?( `- E* W' d5 q# O
9 }+ g$ g' q# S
这个时候返回到论坛首页随便打开一个版块或者一个帖子即可看到 Discuz! 的 Rewrite 伪静态配置成功!
* q) F4 Z6 ]  w 1448117v78ggpgzaf6atrv.gif
  i7 {0 V+ K! }/ F! H3 e
0 A7 F% X, d, M, ^* @' Q7 r 144808ab27zb75ij4j0ik2.gif / M, G8 t5 V/ y4 `, T" d3 K6 p
2 ], i. R/ ]% j6 b& T, J% X
四、IIS7 Web Server(独立主机用户)% D6 d4 T! {" E) R. |( ]
% s# w+ j8 M! ~$ I0 h
可以将如下的配置规则加入到 web.config 中
  1. <rewrite>3 p7 \1 e; `3 l/ F
  2. <rules>
    2 ?) x7 O- z6 U
  3.   <rule name="portal_topic">/ J9 e3 ]1 Q( A
  4.    <match url="^(.*/)*topic-(.+).html\?*(.*)$" />
      G, w/ R+ T) W/ a( K
  5.    <action type="Rewrite" url="{R:1}/portal.php\?mod=topic&topic={R:2}&{R:3}" />
    * E# l7 Z  H3 t2 ^4 |5 P9 |0 [  |
  6.   </rule>  f( p9 t+ H5 `0 z
  7.   <rule name="forum_forumdisplay">
    8 }/ m3 q5 V$ a6 f; M; v0 s( q
  8.    <match url="^(.*/)*forum-(\w+)-([0-9]+).html\?*(.*)$" />
    & y2 H0 d- V4 r% A
  9.    <action type="Rewrite" url="{R:1}/forum.php\?mod=forumdisplay&fid={R:2}&page={R:3}&{R:4}" />7 n7 z# U, @/ ~5 p4 B& w4 M  R
  10.   </rule>% q0 a: v) y  `2 n
  11.   <rule name="forum_viewthread">
    5 o' v8 a! s$ t3 \: g- ~
  12.    <match url="^(.*/)*thread-([0-9]+)-([0-9]+)-([0-9]+).html\?*(.*)$" />6 V+ O% t: }" G# i4 f7 J
  13.    <action type="Rewrite" url="{R:1}/forum.php\?mod=viewthread&tid={R:2}&extra=page%3D{R:4}&page={R:3}&{R:5}" />( Z& W: }* r& h
  14.   </rule>1 Z! ?: B( V' ^) u
  15.   <rule name="group_group">! A7 `7 p& E  F" N$ w* r$ t
  16.    <match url="^(.*/)*group-([0-9]+)-([0-9]+).html\?*(.*)$" />
    ' _3 S6 H- g- a0 G) q* r1 V7 }; d
  17.    <action type="Rewrite" url="{R:1}/forum.php\?mod=group&fid={R:2}&page={R:3}&{R:4}" />
    2 u3 a) I; K) q, n. M: R
  18.   </rule>- j- b& f0 Q/ ^' V
  19.   <rule name="home_space">
    ( ]  J4 K6 M! O/ L4 {
  20.    <match url="^(.*/)*space-(username|uid)-(.+).html\?*(.*)$" />, [% F0 |5 t+ @: k0 m; x& t( y( }
  21.    <action type="Rewrite" url="{R:1}/home.php\?mod=space&{R:2}={R:3}&{R:4}" />
    ( P! ]8 G8 J, X
  22.   </rule>
    , a2 ?' E% \1 Q) ?7 @
  23.   <rule name="forum_archiver">
    4 w7 z1 b! ?4 B- L& x1 c
  24.    <match url="^(.*/)*(fid|tid)-([0-9]+).html\?*(.*)$" />. B; [5 h9 H$ [! O6 u0 U& [& _
  25.    <action type="Rewrite" url="{R:1}/index.php\?action={R:2}&value={R:3}&{R:4}" />
    & h/ v3 C! n. [3 U* R- I3 A% N
  26.   </rule>
    7 A$ K; b0 l1 M) U8 V( h
  27. </rules>
    0 a0 Z" B4 X" {
  28. </rewrite>
复制代码
五、Zeus Web Server
- G  G& k+ ]7 y) R" Q5 T% C
* c6 c$ H% n1 S7 P配置规则如下:
  1. match URL into $ with ^(.*)/topic-(.+).html?*(.*)$
    - c6 b4 w* _: R" p/ V
  2. if matched then
    ! @8 @, M( [  l) L2 m: c
  3. set URL = $1/portal.php?mod=topic&topic=$2&$35 k! J8 d: M6 R
  4. endif
    + }" j: Z6 Q! O2 R1 D
  5. match URL into $ with ^(.*)/forum-(w+)-([0-9]+).html?*(.*)$- \7 G" Q' s2 v3 Y* A! Q
  6. if matched then7 Q; J) u! t9 w3 {5 {9 j
  7. set URL = $1/forum.php?mod=forumdisplay&fid=$2&page=$3&$4
    7 g+ \$ _, e% |3 e+ h0 O/ o7 m$ Q" G
  8. endif, `2 ~# B$ f( ?: D$ b
  9. match URL into $ with ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+).html?*(.*)$
    ! m" J* p; F2 I7 c/ ^0 z: M
  10. if matched then
    5 D- ]8 I5 n. M/ W# [2 t% L
  11. set URL = $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3&$5. @$ m1 Y$ H6 z1 L- I6 ?
  12. endif
    ' c! D8 R( a9 u$ z2 c) r, o
  13. match URL into $ with ^(.*)/group-([0-9]+)-([0-9]+).html?*(.*)$
    ( G/ c: |/ e3 J* i  D4 I
  14. if matched then4 p) W1 l4 O  R8 c: |7 d8 s
  15. set URL = $1/forum.php?mod=group&fid=$2&page=$3&$4" b' a1 b- V. H8 e; W
  16. endif/ H" Y7 W6 a- @4 Z+ E6 B4 N
  17. match URL into $ with ^(.*)/space-(username|uid)-(.+).html?*(.*)$/ a) F3 |3 w; b3 c: a. a
  18. if matched then
    3 Z. M( C4 O$ B7 |4 C2 {6 M% O
  19. set URL = $1/home.php?mod=space&$2=$3&$4
    + w9 `) S8 g( Z' _: o
  20. endif
    - n% u3 [% I, V4 O- }
  21. match URL into $ with ^(.*)/(fid|tid)-([0-9]+).html?*(.*)$
    2 G8 _: i9 q3 X' R, }5 ]3 @
  22. if matched then
    % k! |9 F; M) K" W: A+ e
  23. set URL = $1/index.php?action=$2&value=$3&$42 |! L# }: S* Q1 I. z8 P8 J& E8 j9 ?
  24. endif
复制代码
六、Nginx Web Server/ ^1 g) y0 i# m1 Q) `& }

* S; l& `( A9 u* m配置规则如下:
  1. : ]" P; i* [; a) z) Q, Q
  2. rewrite ^([^.]*)/topic-(.+).html$ $1/portal.php?mod=topic&topic=$2 last;
    & S9 K! S4 x: c' u# G' C
  3. rewrite ^([^.]*)/forum-(w+)-([0-9]+).html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
    % U: v4 [1 e; j2 n) u9 F: v' H6 g8 u' x
  4. rewrite ^([^.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%
    1 @' q* g( m' [
  5. 3D$4&page=$3 last;% M6 J2 `' o/ G$ l' i9 Z
  6. rewrite ^([^.]*)/group-([0-9]+)-([0-9]+).html$ $1/forum.php?mod=group&fid=$2&page=$3 last;
    $ |; Y( L5 p$ m: z6 y. Z4 Y
  7. rewrite ^([^.]*)/space-(username|uid)-(.+).html$ $1/home.php?mod=space&$2=$3 last;# q1 i4 F8 s. n! Q0 n+ Y4 |4 m
  8. rewrite ^([^.]*)/(fid|tid)-([0-9]+).html$ $1/index.php?action=$2&value=$3 last;0 o1 v: y( W& r! t0 f# N( L
  9. if (!-e $request_filename) {: q4 s  m, B5 ?! u3 A- P0 e
  10. return 404;  m) ?0 G  T) N8 a$ {- J
  11. }
复制代码

版权声明
1、转摘或引用本站内容资源须注明原网址,并标明本站网址(兔源码www.tuyuanma.com);
2、对于转摘或引用本站内容资源而引起的民事纠纷、行政处罚或其他损失,本站不承担责任;
3、对于不遵守本声明或其他违法、恶意使用本站内容者,本站保留其追究法律责任的权利。




自动排版 | 高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广告

兔源码网 ( 赣ICP备17001544号 公网安备36112102000036号 )

兔源码 QQ交流群:493651246  GMT+8, 2019-9-22 09:41
←站长统计工具 查看密码:tuyuanma

兔源码DZ模板下载 站长邮箱:tuyuanma@qq.com 站长QQ:3197813386 网站地图

© 2001-2013 本站内容皆来自互联网及用户分享,如需删除请提供软著或商标证书。

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