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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[教程] discuz x2.5空间全部伪静态实现方法

[复制链接]
so_lv 发表于 2012-11-26 05:50:51 | 显示全部楼层 |阅读模式
本帖最后由 so_lv 于 2012-11-26 05:53 编辑

discuz x2.5空间全部伪静态实现方法

如何实现空间全部伪静态?多余话不说,直接进入正题。
一、修改伪静态规则:
  • # 将 RewriteEngine 模式打开
  • RewriteEngine On
  • # 修改以下语句中的 /discuz 为您的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 /
  • RewriteBase /
  • # Rewrite 系统规则请勿修改
  • RewriteCond %{QUERY_STRING} ^(.*)$
  • RewriteRule ^topic-(.+)\.html$ portal.php?mod=topic&topic=$1&%1
  • RewriteCond %{QUERY_STRING} ^(.*)$
  • RewriteRule ^article-([0-9]+)-([0-9]+)\.html$ portal.php?mod=view&aid=$1&page=$2&%1
  • RewriteCond %{QUERY_STRING} ^(.*)$
  • RewriteRule ^forum-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
  • RewriteCond %{QUERY_STRING} ^(.*)$
  • RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ forum.php?mod=viewthread&tid=$1&extra=page\%3D$3&page=$2&%1
  • RewriteCond %{QUERY_STRING} ^(.*)$
  • RewriteRule ^group-([0-9]+)-([0-9]+)\.html$ forum.php?mod=group&fid=$1&page=$2&%1
  • # 我的主题
  • RewriteCond %{QUERY_STRING} ^(.*)$
  • RewriteRule ^mythread-(username|uid)-(.+)\.html$ home.php?mod=space&uid=$1&do=thread&view=me&from=space&$1=$2&%1
  • # 我的资料
  • RewriteCond %{QUERY_STRING} ^(.*)$
  • RewriteRule ^space-(username|uid)-(.+)\.html$ home.php?mod=space&uid=$1&do=profile&$1=$2&%1
  • # 我的空间
  • RewriteCond %{QUERY_STRING} ^(.*)$
  • RewriteRule ^myspace-(username|uid)-(.+)\.html$ home.php?mod=space&uid=$1&do=index&view=admin&$1=$2&%1
  • RewriteCond %{QUERY_STRING} ^(.*)$
  • RewriteRule ^blog-([0-9]+)-([0-9]+)\.html$ home.php?mod=space&uid=$1&do=blog&id=$2&%1
  • # 我的日志
  • RewriteCond %{QUERY_STRING} ^(.*)$
  • RewriteRule ^myblog-(username|uid)-(.+)\.html$ home.php?mod=space&uid=$1&do=blog&view=me&from=space&$1=$2&%1
  • # 我的相册
  • RewriteCond %{QUERY_STRING} ^(.*)$
  • RewriteRule ^myalbum-(username|uid)-(.+)\.html$ home.php?mod=space&uid=$1&do=album&view=me&from=space&$1=$2&%1
  • # 我的记录
  • RewriteCond %{QUERY_STRING} ^(.*)$
  • RewriteRule ^mydoing-(username|uid)-(.+)\.html$ home.php?mod=space&uid=$1&do=doing&view=me&from=space&$1=$2&%1
  • # 我的动态
  • RewriteCond %{QUERY_STRING} ^(.*)$
  • RewriteRule ^myhome-(username|uid)-(.+)\.html$ home.php?mod=space&uid=$1&do=home&view=me&from=space&$1=$2&%1
  • # 我的广播
  • RewriteCond %{QUERY_STRING} ^(.*)$
  • RewriteRule ^myview-(username|uid)-(.+)\.html$ home.php?mod=follow&uid=$1&do=view&$1=$2&%1
  • # 我的分享
  • RewriteCond %{QUERY_STRING} ^(.*)$
  • RewriteRule ^myshare-(username|uid)-(.+)\.html$ home.php?mod=space&uid=$1&do=share&view=me&from=space&$1=$2&%1
  • # 我的留言
  • RewriteCond %{QUERY_STRING} ^(.*)$
  • RewriteRule ^mywall-(username|uid)-(.+)\.html$ home.php?mod=space&uid=$1&do=wall&$1=$2&%1
  • RewriteCond %{QUERY_STRING} ^(.*)$
  • RewriteRule ^archiver/(fid|tid)-([0-9]+)\.html$ archiver/index.php?action=$1&value=$2&%1
  • RewriteCond %{QUERY_STRING} ^(.*)$
  • RewriteRule ^([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ plugin.php?id=$1$2&%1
  • RewriteCond %{QUERY_STRING} ^(.*)$
  • RewriteRule ^([a-z]+)-(.+)\.html$ $1.php?rewrite=$2&%1

复制代码

修改的时候,可以根据自身需要改名,比如我的空间我是这么改的
  • # 我的空间
  • RewriteCond %{QUERY_STRING} ^(.*)$
  • RewriteRule ^myspace-(username|uid)-(.+)\.html$ home.php?mod=space&uid=$1&do=index&view=admin&$1=$2&%1

复制代码

比如下面这个伪静态地址
  • myspace-(username|uid)-(.+)\.html

复制代码

若用户uid为112,则浏览器输出为
  • myspace-uid-112.html

复制代码

最后这段代码若没有,如下,需要添上
  • RewriteCond %{QUERY_STRING} ^(.*)$
  • RewriteRule ^([a-z]+)-(.+)\.html$ $1.php?rewrite=$2&%1

复制代码

二 、修改文件
打开template\default\home目录下的space_header_personalnv.htm,将文件中对应的链接替换成规则中的链接。
以空间首页为例:
将代码
  • home.php?mod=space&uid=$space[uid]&do=index

复制代码

替换为:
  • myspace-uid-$space[uid].html

复制代码

以下全部代码对照:
  • <!--{if $_G['adminid'] == 1 && empty($space['self'])}-->
  • <!--{eval $personalnv['items'] = array(); $personalnv['banitems'] = array(); $personalnv['nvhidden'] = 0;}-->
  • <!--{/if}-->
  • <!--{eval $nvclass = !empty($personalnv['nvhidden']) ? ' class="mininv"' : '';}-->
  • <div id="nv">
  •         <ul$nvclass>
  •                 <!--{if empty($personalnv['nvhidden'])}-->
  •                         <!--{if empty($personalnv['banitems']['index'])}-->
  •                                 <!--{if $_G['adminid'] == 1 && $_G['setting']['allowquickviewprofile'] == 1}-->
  •                                         <li><a href="home.php?mod=space&uid=$space[uid]&do=index&view=admin"><!--{if !empty($personalnv['items']['index'])}-->$personalnv['items']['index']<!--{else}-->{lang main_page}<!--{/if}--></a></li>
  •                                 <!--{else}-->
  •                                         <li><a href="home.php?mod=space&uid=$space[uid]&do=index"><!--{if !empty($personalnv['items']['index'])}-->$personalnv['items']['index']<!--{else}-->{lang main_page}<!--{/if}--></a></li>
  •                                 <!--{/if}-->
  •                         <!--{/if}-->
  •                         <!--{if empty($personalnv['banitems']['feed']) && helper_access::check_module('feed')}-->
  •                         <li><a href="home.php?mod=space&uid=$space[uid]&do=home&view=me&from=space"><!--{if !empty($personalnv['items']['feed'])}-->$personalnv['items']['feed']<!--{else}-->{lang feed}<!--{/if}--></a></li>
  •                         <!--{/if}-->
  •                         <!--{if empty($personalnv['banitems']['doing']) && helper_access::check_module('doing')}-->
  •                         <li><a href="home.php?mod=space&uid=$space[uid]&do=doing&view=me&from=space"><!--{if !empty($personalnv['items']['doing'])}-->$personalnv['items']['doing']<!--{else}-->{lang doing}<!--{/if}--></a></li>
  •                         <!--{/if}-->
  •                         <!--{if empty($personalnv['banitems']['blog']) && helper_access::check_module('blog')}-->
  •                         <li><a href="home.php?mod=space&uid=$space[uid]&do=blog&view=me&from=space"><!--{if !empty($personalnv['items']['blog'])}-->$personalnv['items']['blog']<!--{else}-->{lang blog}<!--{/if}--></a></li>
  •                         <!--{/if}-->
  •                         <!--{if empty($personalnv['banitems']['album']) && helper_access::check_module('album')}-->
  •                         <li><a href="home.php?mod=space&uid=$space[uid]&do=album&view=me&from=space"><!--{if !empty($personalnv['items']['album'])}-->$personalnv['items']['album']<!--{else}-->{lang album}<!--{/if}--></a></li>
  •                         <!--{/if}-->
  •                         <!--{if empty($personalnv['banitems']['follow']) && helper_access::check_module('follow')}-->
  •                         <li><a href="home.php?mod=follow&uid=$space[uid]&do=view"><!--{if !empty($personalnv['items']['follow'])}-->$personalnv['items']['follow']<!--{else}-->{lang follow}<!--{/if}--></a></li>
  •                         <!--{/if}-->
  •                         <!--{if $_G['setting']['allowviewuserthread'] !== false && (empty($personalnv['banitems']['topic']))}-->
  •                         <li><a href="home.php?mod=space&uid=$space[uid]&do=thread&view=me&from=space"><!--{if !empty($personalnv['items']['topic'])}-->$personalnv['items']['topic']<!--{else}-->{lang topic}<!--{/if}--></a></li>
  •                         <!--{/if}-->
  •                         <!--{if empty($personalnv['banitems']['share']) && helper_access::check_module('share')}-->
  •                         <li><a href="home.php?mod=space&uid=$space[uid]&do=share&view=me&from=space"><!--{if !empty($personalnv['items']['share'])}-->$personalnv['items']['share']<!--{else}-->{lang share}<!--{/if}--></a></li>
  •                         <!--{/if}-->
  •                         <!--{if empty($personalnv['banitems']['wall']) && helper_access::check_module('wall')}-->
  •                         <li><a href="home.php?mod=space&uid=$space[uid]&do=wall"><!--{if !empty($personalnv['items']['wall'])}-->$personalnv['items']['wall']<!--{else}-->{lang message_board}<!--{/if}--></a></li>
  •                         <!--{/if}-->
  •                         <!--{if empty($personalnv['banitems']['profile'])}-->
  •                         <li><a href="home.php?mod=space&uid=$space[uid]&do=profile"><!--{if !empty($personalnv['items']['profile'])}-->$personalnv['items']['profile']<!--{else}-->{lang memcp_profile}<!--{/if}--></a></li>
  •                         <!--{/if}-->
  •                 <!--{/if}-->
  •         </ul>
  • </div>

复制代码

泥娃娃一家www.ejiav.com转载注明出处http://www.ejiav.com/thread-199-1-1.html
我的空间http://home.ejiav.com/myspace-uid-14.html
我的动态http://home.ejiav.com/myhome-uid-14.html
我的记录http://home.ejiav.com/mydoing-uid-14.html
........

有疑问的地方,欢迎探讨,一起学习{:soso__8961432591078930798_3:}
 楼主| so_lv 发表于 2012-12-8 14:25:49 | 显示全部楼层
bugpig 发表于 2012-12-7 17:52
iis7.5的独立主机的伪静态规则你有么?

这个我没有

伪静态就是把动态地址,重写为静态

你找到对应的动态地址,在规则文件里,替换为你需要的静态地址就可以了
回复

使用道具 举报

bugpig 发表于 2012-12-5 21:27:04 | 显示全部楼层
真的?全部伪静态真的有助于收录?
回复

使用道具 举报

 楼主| so_lv 发表于 2012-12-6 17:47:51 | 显示全部楼层
bugpig 发表于 2012-12-5 21:27
真的?全部伪静态真的有助于收录?

是的,这个其实不难,后台不需要改,改伪静态规则就可以了
回复

使用道具 举报

bugpig 发表于 2012-12-7 17:52:18 | 显示全部楼层
so_lv 发表于 2012-12-6 17:47
是的,这个其实不难,后台不需要改,改伪静态规则就可以了

iis7.5的独立主机的伪静态规则你有么?
回复

使用道具 举报

我是飞鸿 发表于 2013-1-22 20:06:52 | 显示全部楼层
我这里也有实现这功能的方法
http://www.chuiza.com/thread-492-1-1.html
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 00:35 , Processed in 0.030835 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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