浏览模式: 标准 | 列表 2009年10月8日的文章

基于nginx对discuz做301永久重定向的方法

工作室运维的区域性网站要做重大改版,向着门户型改变:

discuz 6.1升级7.0,ucenter 1.0升级1.5,uchome 1.5升级2.0,并将增加ecshop商城以及点评系统,论坛、空间、商城、点评四个系统采用uc统一管理,这样的话可以让产品更好地整合在一起。当 然,卸载任何一个系统也不会影响另外系统的正常运行。

废话说完,进入正题

原网站真正意义上起到作用的就是一个bbs,而该bbs的网址类似www.abc.com/bbs

考虑到升级后将bbs作为主体来运维(表现形式类似19楼,跳出论坛的范围,走社区化道路),我建议采用根目录直接放置论坛系统,而其他几个系统放置在域名的二级目录,如下:

home.abc.com shop.abc.com dp.abc.com

一级目录相比较二级目录权重高,一级域名自然也比二级域名权重高。考虑到整体以discuz论坛作为重点,自然主次分明。而且划分出二级域名,也方便以后网站的分离和管理。

因为论坛入口从原先的www.abc.com/bbs变成了www.abc.com,如果直接这样搬迁,那么之前做的seo必然会丢失(google跟baidu找过来都是死链),可能导致seo的禁忌:大片网页删除甚至域名被K了。

那么我只要将之前在bbs目录下的规则以301永久重定向到根目录下就可以了,这样搜索引擎也不会“感冒”。

  1. #之前的目录跳转到现在的根目录 301 永久重定向 permanent; 
  2. rewrite ^/bbs/archiver/((fid|tid)-[\w\-]+\.html)$ /archiver/index.php?$1 permanent; 
  3. rewrite ^/bbs/forum-([0-9]+)-([0-9]+)\.html$ /forumdisplay.php?fid=$1&page=$2 permanent; 
  4. rewrite ^/bbs/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /viewthread.php?tid=$1&extra=page\%3D$3&page=$2 permanent; 
  5. rewrite ^/bbs/space-(username|uid)-(.+)\.html$ /space.php?$1=$2 permanent; 
  6. rewrite ^/bbs/tag-(.+)\.html$ /tag.php?name=$1 permanent; 
  7. #如果bbs下文件或目录不存在则重定向到index.php 
  8. #if (!-e $request_filename) { rewrite ^/bbs/(.*) /index.html?$1&; } 

检测下是否重定向成功了

301重定向后在线检测工具[HTTP头状态检测]:

http://www.seoconsultants.com/tools/headers.asp

如果某个网址是永久重定向301效果,则必然显示:HTTP/1.1 301 Moved Permanently

» 阅读全文

忘记UCenter创始人密码怎么办

通宵做论坛的升级搬迁工作,安安静静地做着自己的事情。遇到了一个小问题:之前的管理者没告诉我UCenter创始人的密码,咋办?

实验成功的方法如下:

  1. <?php 
  2. $ucfounderpw = '密码';//将引号里修改为你想修改的创始人密码! 
  3. $ucsalt = rand(100000,999999); 
  4. $ucfounderpw = md5(md5($ucfounderpw).$ucsalt); 
  5. echo 'ucfounderpw:'.$ucfounderpw.'<br />'.'ucsalt:'.$ucsalt
  6. ?>
  7.  
  8. 先复制以上内容,保存为reset.php,上传到支持php空间并访问。
  9. 页面会出现两行数据,类似:
  10. ucfounderpw:34790c7832f559e4a1787f9fdfa591bb
    ucsalt:941698
  11. 到ucenter打开/data/config.inc.php 找到下面内容并按提示操作: 
  12. define('UC_FOUNDERPW''显示出来的第一行加密字符串写到这里'); 
  13. define('UC_FOUNDERSALT''显示出来的第二行数字写到这里'); 

其他方法1(用某个reset.php)、2(采用tools工具箱)

http://www.discuz.net/thread-908564-1-1.html (经过实验,未成功)

还有一种所谓的方法就是拿之前的ucenter之前的升级文件(ucenter安装包里带了)放到网站里运行一次即可(这个方法未经测试


修改某个用户的ucenter的密码,比如uid=1的:

UPDATE `uc_members` SET `password` = 'ad2aa682b173259fefc5e151baa6de82' WHERE `uid` =1 LIMIT 1 ;