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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

如何修改 UCHome 的 rewrite 静态化的 html 为其他形式后缀

[复制链接]
桃子(小敏) 发表于 2008-5-22 15:23:22 | 显示全部楼层 |阅读模式
UCHome 开启 URL REWRITE  后,默认的后缀是 html ,您还可以根据自己的喜好修改为其他后缀,下面请看详细修改方法:

例如:修改后缀 html 为 shtml,可以按照以下步骤:

1、修改rewrite规则:
找到:
RewriteRule ^/(space|network)\-(.+)\.html$ /$1.php?rewrite=$2 [L]
RewriteRule ^/(space|network)\.html$ /$1.php [L]

改为
RewriteRule ^/(space|network)\-(.+)\.shtml$ /$1.php?rewrite=$2 [L]
RewriteRule ^/(space|network)\.shtml$ /$1.php [L]

2、修改 source\function_common.php 文件
找到:
function ob_out() {
global $_SGLOBAL, $_SCONFIG;

$content = ob_get_contents();

$preg_searchs = $preg_replaces = $str_searchs = $str_replaces = array();

if($_SCONFIG['allowrewrite']) {
  $preg_searchs[] = "/\<a href\=\"space\.php\?(uid|do)+\=([a-z0-9\=\&]+?)\"/ie";
  $preg_searchs[] = "/\<a href\=\"space.php\"/i";
  $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_replaces[] = 'rewrite_url(\'network-\',\'\\1\')';
  $preg_replaces[] = '<a href="network.html"';
}
if($_SCONFIG['linkguide']) {
  $preg_searchs[] = "/\<a href\=\"http\:\/\/(.+?)\"/ie";
  $preg_replaces[] = 'iframe_url(\'\\1\')';
}

if($_SGLOBAL['inajax']) {
  $preg_searchs[] = "/([\x01-\x09\x0b-\x0c\x0e-\x1f])+/";
  $preg_replaces[] = ' ';
  
  $str_searchs[] = ']]>';
  $str_replaces[] = ']]&gt;';
}

if($preg_searchs) {
  $content = preg_replace($preg_searchs, $preg_replaces, $content);
}
if($str_searchs) {
  $content = trim(str_replace($str_searchs, $str_replaces, $content));
}

obclean();
echo $content;
if($_SGLOBAL['inajax']) {
  echo "]]></root>";
  exit();
} elseif(D_BUG) {
  @include_once(S_ROOT.'./source/inc_debug.php');
}
}
//rewrite链接
function rewrite_url($pre, $para) {
$para = str_replace(array('&','='), array('-', '-'), $para);
return '<a href="'.$pre.$para.'.html"';
}


修改上面两个方法中的 html 为 shtml 即可。

UCenter Home 开启Rewrite的方法,可以参考:
Apache:
http://u.discuz.net/help/index.php?view=%5B3%5D%20UCenter%20Home%20%C6%F4%D3%C3Rewrite%B7%FE%CE%F1%C6%F7%C5%E4%D6%C3%CB%B5%C3%F7
IIS:
https://discuz.dismall.com/viewthread.php?tid=903180&highlight=rewrite

评分

4

查看全部评分

huangliming 发表于 2008-5-22 15:24:01 | 显示全部楼层
沙发
回复

使用道具 举报

安全出口2 发表于 2008-5-22 15:27:17 | 显示全部楼层
板凳
回复

使用道具 举报

南芝恋 发表于 2008-5-22 15:45:45 | 显示全部楼层
woding
回复

使用道具 举报

webkid 发表于 2008-5-22 16:01:54 | 显示全部楼层
这个好!
问了好几天,官方终于给出解决办法了!
谢谢了!

可惜啊!——还是存在问题!!
非常感谢官方终于发布了【如何修改 UCHome 的 rewrite 静态化的 html 为其他形式后缀https://discuz.dismall.com/thread-936895-1-1.html】一帖!!
可以实现UCHome普通页面的.shtml后缀静态化。

但是——
此方法有一个问题:
通过此方法可以实现一般页面的.shtml静态化,
但是,用户个人空间的简短链接却是无效的!
比如:
我的UCHome安装地址为 http://i.jobman.com.cn
实现静态化以后 个人空间的简短链接地址显示为:http://i.jobman.com.cn/1
但是,这个链接却是打不开的!

XX4.0的.shtml后缀静态化则不存在这个问题,只用管理后台更改 搜索引擎优化的 文件名后缀即可,如:http://blog.jobman.com.cn/1/ 这样的链接是可以打开的。

——请问问题出在哪里????

其实,还发现有一个问题:
即便是XX4.0,个人空间的简短链接最后必须加上斜杠“/”,才可以打开,如:http://blog.jobman.com.cn/1/
如果,以id数字结尾,没有斜杠“/”,仍然是打不开带的,如:http://blog.jobman.com.cn/1

——请问这又是怎么回事?? 该如何解决呢?????

[ 本帖最后由 webkid 于 2008-5-26 21:20 编辑 ]
回复

使用道具 举报

gj315 发表于 2008-5-22 16:15:31 | 显示全部楼层
终于可以解决了!
回复

使用道具 举报

pc77maikongjian 发表于 2008-5-23 14:56:05 | 显示全部楼层
收藏先.谢谢分享.
回复

使用道具 举报

webkid 发表于 2008-5-23 22:03:04 | 显示全部楼层
此方法有一个问题!——紧急!!

通过此方法可以实现一般页面的.shtml静态化,
但是,用户个人空间的简短链接却是无效的!
比如:
我的UCHome安装地址为 http://i.jobman.com.cn
实现静态化以后 个人空间的简短链接地址显示为:http://i.jobman.com.cn/1
但是,这个链接却是打不开的!

XX4.0的.shtml后缀静态化则不存在这个问题,http://blog.jobman.com.cn/1/ 这样的链接是可以打开的。

请问问题出在哪里????

[ 本帖最后由 webkid 于 2008-5-23 22:09 编辑 ]
回复

使用道具 举报

webkid 发表于 2008-5-23 22:31:22 | 显示全部楼层
【紧急】.shtml静态化的新问题!!
首先,
非常感谢官方终于在昨天发布了【如何修改 UCHome 的 rewrite 静态化的 html 为其他形式后缀https://discuz.dismall.com/thread-936895-1-1.html】一帖!!
可以实现UCHome普通页面的.shtml后缀静态化。

但是——
此方法有一个问题:
通过此方法可以实现一般页面的.shtml静态化,
但是,用户个人空间的简短链接却是无效的!
比如:
我的UCHome安装地址为 http://i.jobman.com.cn
实现静态化以后 个人空间的简短链接地址显示为:http://i.jobman.com.cn/1
但是,这个链接却是打不开的!

XX4.0的.shtml后缀静态化则不存在这个问题,只用管理后台更改 搜索引擎优化的 文件名后缀即可,如:http://blog.jobman.com.cn/1/ 这样的链接是可以打开的。

——请问问题出在哪里????

其实,还发现有一个问题:
即便是XX4.0,个人空间的简短链接最后必须加上斜杠“/”,才可以打开,如:http://blog.jobman.com.cn/1/
如果,以id数字结尾,没有斜杠“/”,仍然是打不开带的,如:http://blog.jobman.com.cn/1

——请问这又是怎么回事??
回复

使用道具 举报

天涯客栈 发表于 2008-5-27 11:14:51 | 显示全部楼层
回楼上的
需要空间定义一下打开的后缀
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 22:52 , Processed in 0.025848 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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