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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[经验] 把插件静态化的方法(伪静态)

[复制链接]
cnbloke 发表于 2008-6-7 10:19:09 | 显示全部楼层 |阅读模式
找到source/function_common.php
大约在644行找到
//调整输出
function ob_out()

复制原有代码
$preg_searchs[] = "/\<a href\=\"network\.php\?ac\=([a-z0-9\=\&]+?)\"/ie";
$preg_searchs[] = "/\<a href\=\"network.php\"/i";

$preg_replaces[] = 'rewrite_url(\'space-\',\'\\2\')';
$preg_replaces[] = '<a href="space.html"';

改成自己的(就是红色的字)
//我自己的规则
$preg_searchs[] = "/\<a href\=\"plus_game\.php\?ac\=([a-z0-9\=\&]+?)\"/ie";
$preg_searchs[] = "/\<a href\=\"plus_game.php\"/i";

$preg_replaces[] = 'rewrite_url(\'plus_game-\',\'\\1\')';
$preg_replaces[] = '<a href="plus_game.html"';

再在.htaccess文件加规则
RewriteRule ^(space|network|plus_game)\-(.+)\.html$ $1.php?rewrite=$2 [L]
RewriteRule ^(space|network|plus_game)\.html$ $1.php [L]

最后在程序添加解希代码
  1. //处理rewrite
  2. if($_SCONFIG['allowrewrite'] && isset($_GET['rewrite'])) {
  3.         $rws = explode('-', $_GET['rewrite']);
  4.         if($rw_id = intval($rws[0])) {
  5.                 $_GET['id'] = $rw_id;
  6.         } else {
  7.                 $_GET['ac'] = $rws[0];
  8.         }
  9.         if(isset($rws[1])) {
  10.                 $rw_count = count($rws);
  11.                 for ($rw_i=1; $rw_i<$rw_count; $rw_i=$rw_i+2) {
  12.                         $_GET[$rws[$rw_i]] = empty($rws[$rw_i+1])?'':$rws[$rw_i+1];
  13.                 }
  14.         }
  15.         unset($_GET['rewrite']);
  16. }
复制代码
演示:
http://www.lookgo.cn/plus_game.html



[ 本帖最后由 cnbloke 于 2008-6-7 10:22 编辑 ]

评分

2

查看全部评分

coobii 发表于 2008-6-16 11:13:59 | 显示全部楼层
这和系统后台开URLWRITE不一样是吗?
回复

使用道具 举报

superwyh 发表于 2008-6-16 11:16:59 | 显示全部楼层
空间太小不敢用……
但是还是支持!!!!!
回复

使用道具 举报

nnlqzs 发表于 2008-6-16 11:20:05 | 显示全部楼层
感谢分享··
回复

使用道具 举报

usxing 发表于 2008-6-16 11:20:47 | 显示全部楼层
技术贴,顶
回复

使用道具 举报

luring 发表于 2008-6-16 11:26:17 | 显示全部楼层
技术贴,顶
回复

使用道具 举报

ideacm 发表于 2008-6-16 11:57:54 | 显示全部楼层
好帖收藏了
谢楼主
回复

使用道具 举报

xiaoguang1977 发表于 2008-9-16 15:17:09 | 显示全部楼层
照此方法,调整了。
问答插件还不成功,哪里有问题呢?
回复

使用道具 举报

xiaoguang1977 发表于 2008-9-16 15:37:21 | 显示全部楼层
我所作的代码如下,请告诉我问题在哪里,谢谢!
  1.         if($_SCONFIG['allowrewrite']) {
  2.                 $preg_searchs[] = "/\<a href\="space\.php\?(uid|do)+\=([a-z0-9\=\&]+?)"/ie";
  3.                 $preg_searchs[] = "/\<a href\="space.php"/i";
  4.                 $preg_searchs[] = "/\<a href\="network\.php\?ac\=([a-z0-9\=\&]+?)"/ie";
  5.                 $preg_searchs[] = "/\<a href\="network.php"/i";
  6.                 $preg_searchs[] = "/\<a href\="ask\.php\?ac\=([a-z0-9\=\&]+?)"/ie";
  7.                 $preg_searchs[] = "/\<a href\="ask.php"/i";

  8.                 $preg_replaces[] = 'rewrite_url(\'space-\',\'\\2\')';
  9.                 $preg_replaces[] = '<a href="space.html"';
  10.                 $preg_replaces[] = 'rewrite_url(\'network-\',\'\\1\')';
  11.                 $preg_replaces[] = '<a href="network.html"';
  12.             $preg_replaces[] = 'rewrite_url(\'ask-\',\'\\1\')';
  13.                 $preg_replaces[] = '<a href="ask.html"';
复制代码
  1. //是否关闭站点
  2. checkclose();

  3. //处理rewrite
  4. if($_SCONFIG['allowrewrite'] && isset($_GET['rewrite'])) {
  5.         $rws = explode('-', $_GET['rewrite']);
  6.         if($rw_id = intval($rws[0])) {
  7.                 $_GET['id'] = $rw_id;
  8.         } else {
  9.                 $_GET['ac'] = $rws[0];
  10.         }
  11.         if(isset($rws[1])) {
  12.                 $rw_count = count($rws);
  13.                 for ($rw_i=1; $rw_i<$rw_count; $rw_i=$rw_i+2) {
  14.                         $_GET[$rws[$rw_i]] = empty($rws[$rw_i+1])?'':$rws[$rw_i+1];
  15.                 }
  16.         }
  17.         unset($_GET['rewrite']);
  18. }
复制代码
  1. RewriteRule ^(space|network|ask)\-(.+)\.html$ $1.php?rewrite=$2 [L]
  2. RewriteRule ^(space|network|ask)\.html$ $1.php [L]
复制代码
网站:http://www.neotao.com/
回复

使用道具 举报

xiaoguang1977 发表于 2008-9-17 09:20:05 | 显示全部楼层
哪位知道的朋友热心一下
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-15 10:21 , Processed in 0.049183 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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