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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[求助] 【URL标准化】让最后发表用户以UID方式访问!!

[复制链接]
200711226 发表于 2011-1-12 16:52:19 | 显示全部楼层 |阅读模式
插件发布
插件名称: 【URL标准化】让最后发表用户以UID方式访问!!
插件来源:
适用版本: Discuz! X1.5
语言编码: GBK简体 
最后更新时间:
插件作者: 阿狼
插件简介: 让最后发表用户以UID方式访问!!
本帖最后由 200711226 于 2011-1-13 11:55 编辑

【URL标准化】让最后发表用户以UID方式访问!!

因为我的是万网G1空间,也不知道怎么的,用户名访问空间会出现错误,看到很多人都出现这种情况,也不知道怎么会事,干脆我就把用户名访问空间方式给改为UID访问了,一举两得,又解决了SEO优化问题,还让不支持中文URL的空间支持UID方式访问。

例子网址:http://www.cdren.com.cn

体现图片:

可以看到图片上面标了的地方,默认的是以用户名方式访问,如:http://www.cdren.com.cn/space-username-%CA%B1%D6%AE%C9%B3.html

而我的网站则是以UID方式访问:http://www.cdren.com.cn/space-uid-40.html

网站绝大多数地方都是使用UID方式访问,不知道为什么DZ在这里偏偏要使用用户名方式来访问。

好了,话不多说,开始吧!!!

需要更改三个文件:

source\function\function_forum.php 这个是函数存放的地方
在文件最下面加入以下代码:
  1. //自定义函数
  2. function GetLastPosterId($UserName)//最后回复UID
  3. {
  4.         $sql = DB::query("SELECT uid FROM " . DB::table('common_member') . " WHERE username = '$UserName'");
  5.         $row = DB::fetch($sql);
  6.         return $row['uid'];
  7. }
复制代码
template\default\forum\forumdisplay_list.htm  这个是列表页

查找:
  1. <a href="{if $thread[digest] != -2}home.php?mod=space&username=$thread[lastposterenc]{else}forum.php?mod=viewthread&tid=$thread[tid]&page={echo max(1, $thread[pages]);}{/if}" c="1">$thread[lastposter]</a>
复制代码
替换为:
  1. <a href="{if $thread[digest] != -2}home.php?mod=space&uid={echo GetLastPosterId($thread[lastposter]);}{else}forum.php?mod=viewthread&tid=$thread[tid]&page={echo max(1, $thread[pages]);}{/if}" c="1">$thread[lastposter]</a>
复制代码
template\default\group\group_index.htm 这个是群组首页

查找:
  1. <a href="{if $thread[digest] != -2}home.php?mod=space&username=$thread[lastposterenc]{else}forum.php?mod=viewthread&tid=$tid&page={echo max(1, $thread[pages]);}{/if}">$thread[lastposter]</a>
复制代码
替换为:
  1. <a href="{if $thread[digest] != -2}home.php?mod=space&username={echo GetLastPosterId($thread[lastposter]);}{else}forum.php?mod=viewthread&tid=$tid&page={echo max(1, $thread[pages]);}{/if}">$thread[lastposter]</a>
复制代码
template\default\group\group_list.htm 这个是群组列表页

查找:
  1. <cite><!--{if $thread['lastposter']}--><a href="{if $thread[digest] != -2}home.php?mod=space&username=$thread[lastposterenc]{else}forum.php?mod=viewthread&tid=$thread[tid]&page={echo max(1, $thread[pages]);}{/if}">$thread[lastposter]</a>
复制代码
替换为:
  1. <cite><!--{if $thread['lastposter']}--><a href="{if $thread[digest] != -2}home.php?mod=space&uid={echo GetLastPosterId($thread[lastposter]);}{else}forum.php?mod=viewthread&tid=$thread[tid]&page={echo max(1, $thread[pages]);}{/if}">$thread[lastposter]</a>
复制代码
突然发现,原来论坛首页我还没有更改。悲剧中~~~

source\function\function_forumlist.php 这个是论坛首页

查找:
  1. $lastpost['author'] = '<a href="home.php?mod=space&username='.rawurlencode($lastpost['author']).'">'.$lastpost['author'].'</a>';
复制代码
替换为:
  1. $lastpost['author'] = '<a href="home.php?mod=space&uid='.GetLastPosterId($lastpost['author']).'">'.$lastpost['author'].'</a>';
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
sxg505 发表于 2011-1-12 17:11:01 | 显示全部楼层
回复

使用道具 举报

1911 发表于 2011-1-12 17:45:02 | 显示全部楼层
不错!技术贴!! 有的站点会很需要。
回复

使用道具 举报

b168 发表于 2011-1-12 18:26:11 | 显示全部楼层
支持一下  好东西 收藏!
回复

使用道具 举报

 楼主| 200711226 发表于 2011-1-12 19:49:15 | 显示全部楼层
没人顶,我自己来顶。。
回复

使用道具 举报

lianjia 发表于 2011-1-12 20:11:24 | 显示全部楼层
bucuo
回复

使用道具 举报

快乐重生 发表于 2011-1-13 02:22:45 | 显示全部楼层
200711226 发表于 2011-1-12 16:52
【URL标准化】让最后发表用户以UID方式访问!!

因为我的是万网G1空间,也不知道怎么的,用户名访问空间 ...

论坛首页的怎么改?
回复

使用道具 举报

大大乔侨 发表于 2011-1-13 05:08:37 | 显示全部楼层
顶顶,支持下
回复

使用道具 举报

台灣玩透透 发表于 2011-1-13 05:26:40 | 显示全部楼层
回复

使用道具 举报

hongjun521 发表于 2011-1-13 08:25:27 | 显示全部楼层
不过你演示站也是用户名访问的形式啊  
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-18 03:22 , Processed in 0.032121 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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