查看: 58806|回复: 96
打印 上一主题 下一主题

网站伪静态化教程(高级版本) IIS的请查看二楼

[复制链接]
跳转到指定楼层
1#
发表于 2009-9-13 09:14:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
演示地址:www.0577sh.com (温州生活网)7 M5 r; K0 P# e" `7 S& B) Z

8 f1 g% G# b/ c9 L( w# r, b+ B! R- N- u+ X& p
使用前提:必须支持重写规则的主机.不懂的人问空间提供商!!
& A6 C( v* X  b" f+ E- T0 j% U开始说说具体的操作方法:% \6 i) B/ M  i# u. _' `
原理就是修改global.php里面的函数,加上配置规则统一下就可以了.
: {, M& ^6 B( A' S1 y% V操作:
! @' a. U/ g. Z$ Z.htaccess文件修改如下:

  1. 3 l, t$ P+ a' [# |" Q
  2. RewriteEngine On! d3 n! I8 @! V- E
  3. RewriteRule ^info-id-([0-9]+)\.html$ public/info.php?id=$1! a; F1 M. m$ U2 ^" r' y7 G' b! z
  4. RewriteRule ^info-catid-([0-9]+)-page-([0-9]+)\.html$ public/info.php?catid=$1&page=$2
    # e0 ^5 p9 n7 f/ D
  5. RewriteRule ^info-catid-([0-9]+)-areaid-([0-9]+)-page-([0-9]+)\.html$ public/info.php?catid=$1&areaid=$2&page=$3- [- v6 X. J: r9 D
  6. RewriteRule ^aboutus\.html$ public/about.php?part=aboutus
    " K: d3 i1 @4 J) @: G1 w3 A( X
  7. RewriteRule ^aboutus-id-([0-9]+)\.html$ public/about.php?part=aboutus&id=$1
    0 P" k& G, [2 ^, g1 l
  8. RewriteRule ^announce-page-([0-9]+)\.html$ public/about.php?part=announce&page=$1
    , @! k9 B- T( f. `
  9. RewriteRule ^announce-id-([0-9]+)\.html$ public/about.php?part=announce&id=$1. }4 R- b: u' g7 F9 I
  10. RewriteRule ^faq\.html$ public/about.php?part=faq
    7 i% i! w' j  J
  11. RewriteRule ^faq-id-([0-9]+)\.html$ public/about.php?part=faq&id=$1# l# m& G, O" k( T* T
  12. RewriteRule ^friendlink\.html$ public/about.php?part=friendlink5 ]5 x8 ^* u* Z6 c% {( t
  13. RewriteRule ^friendlink-action-apply\.html$ public/about.php?part=friendlink&action=apply
      e* u$ f+ A# Q' K" u
  14. RewriteRule ^guestbook-page-([0-9]+)\.html$ public/about.php?part=guestbook&page=$1
    ) z# d- e% R( S, B' U( d  S+ e
  15. RewriteRule ^guestbook-action-write\.html$ public/about.php?part=guestbook&action=write0 l6 ~( ?3 l. M, _/ C; j
  16. RewriteRule ^space-([a-z,0-9\-]+)\.html$ public/space.php?user=$15 i' l, B$ |' ~, `5 V0 n
复制代码
public/global.php文件修改:; f1 s, p. w% \5 {$ U
大概在176行左右,或者直接查找
  1. if($rewrite)$uri .= '/';
复制代码
修改成
  1. if($rewrite)$uri .= '.html';
复制代码
/include/global.fun.php
255-279左右
  1. - J9 |9 q6 Z+ [, @, c
  2. if($rewrite == 1 && $type == 'public'){
    " c9 c( \3 v/ c' G+ e. e( s* j
  3.   $nav .="<span>共".$rows_num."记录</span> ";% q6 j# K5 G4 d! E3 N/ U
  4.   if($page>1)$nav .= "<a href='/$param"."page-".($page-1).".html' title='第".($page-1)."页'>上一页</a>";
    : p& \1 p  O8 z: q4 [
  5.   if($begin!=1)$nav .= "<a href='/$param"."page-1.html' title='第1页'>1 ...</a>";+ X1 n+ D* e+ a8 V
  6.   $end = ($begin+$per_screen>$pages_num)?$pages_num+1begin+$per_screen;8 p# [/ v+ e9 ^
  7.   for($i=$begin; $i<$end; $i++) {- J5 r4 g  v/ q# v: Z! w
  8.    if (!empty($i)){
    / r- w% [" u/ N) f% z
  9.     $nav .=($page!=$i)?"<a href='/$param"."page-$i.html' title='第{$i}页'>$i</a> ":" <span class=current>$i</span> ";: g6 M1 L) I5 e
  10.    }
    . k1 f% y& |, b4 K9 `0 ^
  11.   }, @9 m0 u0 u% i: N7 \7 I; u7 i
  12.   if($end!=$pages_num+1) $nav .= "<a href='/$param"."page-$pages_num.html' title='第{$pages_num}页'>... {$pages_num}</a>";
    - I. B( L7 G3 g& U# L
  13.   if($page<$pages_num)   $nav .= "<a href='/$param"."page-".($page+1).".html' title='第".($page+1)."页'>下一页</a>";
    ) Q4 ~' w/ o; u
  14. }elseif($rewrite != 1 || $type == 'mymps'){
    3 f' A- W" i+ c6 t* R4 E
  15.   $nav .="<span>共".$rows_num."记录</span> ";
    ' D1 g7 G1 v6 y9 I+ V9 s
  16.   if($page>1)$nav .= "<a href='?$param"."page=".($page-1)."' title='第".($page-1)."页'>上一页</a>";
    6 n; ^* C+ N! C2 f0 E3 J
  17.   if($begin!=1)$nav .= "<a href='?$param' title='第1页'>1 ...</a>";
    * n/ `5 u+ x0 L1 N6 {$ v& j- S
  18.   $end = ($begin+$per_screen>$pages_num)?$pages_num+1begin+$per_screen;
    2 H; \  l; n0 f+ T
  19.   for($i=$begin; $i<$end; $i++) {& Q, k6 S1 _+ N- ^: C
  20.    if (!empty($i)){
    ! q: \3 P" _6 Y. H' F
  21.     $nav .=($page!=$i)?"<a href='?$param"."page=$i' title='第{$i}页'>$i</a> ":" <span class=current>$i</span> ";4 H0 @: h- D) v, }; k
  22.    }, L5 _& s1 [( }' \: U+ ^
  23.   }+ F, ], v8 h" W$ U( L6 n! _
  24.   if($end!=$pages_num+1) $nav .= "<a href='?$param"."page=$pages_num' title='第{$pages_num}页'>... {$pages_num}</a>";
    ( K3 T. G& r. o9 G( L7 j- S" }
  25.   if($page<$pages_num)   $nav .= "<a href='?$param"."page=".($page+1)."' title='第".($page+1)."页'>下一页</a>";
    : a% X8 ?5 W( G: z
  26. }9 b3 E1 [. y# R
复制代码
把里面的.html改为你要的即可.

6 L. q8 \$ c* B/ c  w0 z. e扩展:了解上面的规则后,开始自定义之旅吧.
; S0 [* D" k3 J比如你要改成.fl (分类) .bt(变态)等等 6 i; Y' {  a' G  w6 `4 o. m; ]
那么 修改成[/code]修改成
  1. if($rewrite)$uri .= '.fl';
复制代码
在.htaccess文件里面把上面的.html改成.fl.即可.
7 j, U' T% O$ _- w* S' K( M( e' z+ T0 p  c你也可以改成.sblj  (傻不垃圾)哦.哈哈; u/ c! o% }) Y& a8 j9 Z! L! d* E
或者也个性十足的.do后缀.4 i% ~9 Q) {  P8 L% v0 W1 k  J1 p. Y, n. F
当然理论上是支持任何后缀的,但在实际环境中并未一一测试.0 y; j% Y8 S! ^* b& z# b2 k
如有bug欢迎跟贴.回贴也可以带上你的个性后缀哦!
# z* c. _. n" m" E- {3 F5 U* {
, o$ {# [1 F7 y1 Y' I
[ 本帖最后由 small5 于 2009-10-20 09:11 编辑 ]

评分

参与人数 2威望 +6 收起 理由
vsxp + 5 精品文章
hnyic + 1 原创内容

查看全部评分

2#
 楼主| 发表于 2009-9-13 09:15:33 | 只看该作者

IIS Web Server(IIS 用户)

理论上应该是直接修改httpd.ini文件就可以了,其他的文件修改同一楼,IIS配制请参考村长官方贴,本贴只是规则修改。 如下: 1 L& A3 f# G' q7 Y

  1. 2 r4 A; k' [* V# {' j! l3 \
  2. [ISAPI_Rewrite]  k" `9 n$ p4 c0 G
  3. # 3600 = 1 hour- z3 e9 B2 @2 N8 y
  4. CacheClockRate 3600
    - Y) f# C& J2 @9 S) t; O; v
  5. RepeatLimit 32
    # i3 I$ H' E/ U/ a1 ^: N/ w
  6. # Protect httpd.ini and httpd.parse.errors files% B; W3 s# m8 J. E" N
  7. # from accessing through HTTP( W: U- p' u5 |; |) g4 y
  8. RewriteRule ^(.*)/info-id-([0-9]+)\.html\?*(.*)$ $1/public/info\.php?id=$2
    ) Y7 R; T  M; _# C) V, r, R
  9. RewriteRule ^(.*)/info-catid-([0-9]+)-page-([0-9]+)\.html\?*(.*)$ $1/public/info\.php?catid=$2&page=$3
    ( A" Z9 g+ M$ ?2 a
  10. RewriteRule ^(.*)/info-catid-([0-9]+)-areaid-([0-9]+)-page-([0-9]+)\.html\?*(.*)$ $1/public/info\.php?catid=$2&areaid=$3&page=$4' o1 e# Q2 t, O% J# b- {. q
  11. RewriteRule ^(.*)/aboutus\.html\?*(.*)$ $1/public/about\.php?part=aboutus/ N' [3 p+ O4 m8 h, f- ~4 ~4 q
  12. RewriteRule ^(.*)/aboutus-id-([0-9]+)\.html\?*(.*)$ $1/public/about\.php?part=aboutus&id=$2
    7 D/ S' {* a/ p2 a
  13. RewriteRule ^(.*)/announce-page-([0-9]+)\.html\?*(.*)$ $1/public/about\.php?part=announce&page=$2
    - j2 U- S! `! Q/ o3 e1 V# d! C, t, }% V
  14. RewriteRule ^(.*)/announce-id-([0-9]+)\.html\?*(.*)$ $1/public/about\.php?part=announce&id=$2
    7 Q) K# q0 U& |/ @, r0 ?9 T: a
  15. RewriteRule ^(.*)/faq\.html\?*(.*)$ $1/public/about\.php?part=faq/ R! d+ g1 a/ ]: v$ Y" d) W5 S
  16. RewriteRule ^(.*)/faq-id-([0-9]+)\.html\?*(.*)$ $1/public/about\.php?part=faq&id=$2
    ; B& W8 S7 S& c7 o: T
  17. RewriteRule ^(.*)/friendlink\.html\?*(.*)$ $1/public/about\.php?part=friendlink) K7 F9 p9 ]; A: _, i. {: Y1 `
  18. RewriteRule ^(.*)/friendlink-action-apply\.html\?*(.*)$ $1/public/about\.php?part=friendlink&action=apply, J0 g; W& E6 o% L- V: M
  19. RewriteRule ^(.*)/guestbook-page-([0-9]+)\.html\?*(.*)$ $1/public/about\.php?part=guestbook&page=$2& U& h1 G. l( ]. }) U8 y) T! h- M
  20. RewriteRule ^(.*)/guestbook-action-write\.html\?*(.*)$ $1/public/about\.php?part=guestbook&action=write
    ) K6 a! z; R9 a1 p
  21. RewriteRule ^(.*)/space-([a-z,0-9\-]+)\.html\?*(.*)$ $1/public/space\.php?user=$2
    7 z1 U3 g0 ]- V* v, l$ Z) j
复制代码

4 p$ n2 D+ r9 p- T2 \3 w' @如有访问请反馈。谢谢!
! H; G/ R; d5 [$ i8 V" c# R  R; v! s( ?3 z% `. W  R
[ 本帖最后由 small5 于 2009-10-20 09:16 编辑 ]
3#
发表于 2009-9-13 09:29:43 | 只看该作者
我修改了这个文件global.fun.php
, R* z! {8 ^5 M1 @- @% f, o* d: h就会出现这样的情况0 l+ p* p6 ~! R& x, Z, l5 `

0 {! z9 H8 G7 M9 Y) E( iParse error: syntax error, unexpected T_STRING in /home/content/o/k/z/okzhuji/html/yyttww/include/global.fun.php on line 259
6 R4 J+ H! q; P' c站个位子,再测试一下/ u/ ^7 [; ]1 P0 m( z
$ P% a' {, y9 L2 J- S& `: {$ a* h
展示一下 http://www.yyttww.com  欢迎互换连接!~
" A3 S& i- h; n5 ^, p1 w
+ Q, x* P! k) h[ 本帖最后由 cwf0918 于 2009-10-20 23:23 编辑 ]
4#
发表于 2009-9-13 09:31:32 | 只看该作者
你的是什么版本的啊
% Y( p" ~3 d% y9 F1 A7 A% l- Jutf8?
5#
 楼主| 发表于 2009-9-13 09:41:19 | 只看该作者

回复 4# lichangcheng 的帖子

GBK,理论上是不区别版本的!
6#
发表于 2009-9-13 09:45:15 | 只看该作者
我的utf8版本可以实现吗?) x3 P& O1 e. q: J8 U3 _% A

& M' T$ e! h/ o[ 本帖最后由 lichangcheng 于 2009-9-13 09:48 编辑 ]
7#
 楼主| 发表于 2009-9-13 10:04:21 | 只看该作者

回复 7# lichangcheng 的帖子

可以的大哥,你多看下跟贴啦.
8#
 楼主| 发表于 2009-9-13 10:12:53 | 只看该作者
9#
发表于 2009-9-13 10:53:10 | 只看该作者
还是没怎么明白!!!
10#
发表于 2009-9-13 11:25:18 | 只看该作者
感谢分享。
2 T$ o1 _, `; r$ q7 L$ U. `还不是最高级的。
您需要登录后才可以回帖 登录 | 注册蚂蚁CMS论坛

本版积分规则

QQ| Archiver| 手机版| 蚂蚁CMS论坛  


© MayiCMS·蚂蚁分类信息网站系统 - 国内最成熟的php分类信息网站系统,地方便民信息网站/微信小程序解决方案

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