301重定向PHP代码 PHP的301自动跳转代码

301重定向可促进搜索引擎优化效果 从搜索引擎优化角度出发,301重定向是网址重定向最为可行的一种办法。当网站的域名发生变更后,搜索引擎只对新网址进行索引,同时又会把旧地址下原有的外部链接如数转移到新地址下,从而不会让网站的排名因为网址变更而收到丝毫影响。同样,在使用301永久性重定向命令让多个域名指向网站主域时,亦不会对网站的排名产生任何负面影响。 302重定向可影响搜索引擎优化效果 迄今为止,能够对302重定向具备优异处理能力的只有Google。也就是说,在网站使用302重定向命令将其它域名指向主域时,只有Google会把其它域名的链接成绩计入主域,而其它搜索引擎只会把链接成绩向多个域名分摊,从而削弱主站的链接总量。既然作为网站排名关键因素之一的外链数量受到了影响,网站排名降低也是很自然的事情了。 综上所述,在众多重定向技术中,301永久性重定向是最为安全的一种途径,也是极为理想的一款解决方案。 对于正确实施301重定向,有这样几个方法可供大家参考: 1.在.htaccess文件中增加301重定向指令 采用“mod_rewrite”技术,形如: RewriteEng[……]

继续阅读 »

解决 iframe 页面乱码

父页面UTF-8编码,iframe页面为gbk编码,但是没有charset声明,直接引用显示的话,iframe页面会乱码,父页面和iframe页面又都不方便大规模的修改,这个时候可以引入一个中间页面,其中charset与iframe页面的编码一致,这样就解决了问题。[……]

继续阅读 »

pureftpd:530 Sorry, but I can’t trust you

出现这个问题的原因是:当前ftp用户的UID小于Pure-FTPD所允许的最小UID(/etc/pure-ftpd/pure-ftpd.conf/MinUID)
解决的办法很简单,查一下当前这个ftp用户所属系统用户的UID,然后将MinUID修改成小于ftp所属系统用户的UID,重启服务即可[……]

继续阅读 »

Debian/Ubuntu系Linux 系统 imagecreate()函数无法使用:升级GD库至完整版本

在Debian/Ubuntu系统中,通过apt-get方式安装的php5-gd库,不是完整版本,函数imagecreate()无法使用,为了解决这个问题,可以有三种方法来解决:

  1. 不用apt-get方式安装Apache、MySQL和PHP,自己下载源码设定需要的参数自己编译
  2. 添加特定的源,安装完整gd库
    1. 在源里添加两行 deb http://packages.dotdeb.org stable all deb-src http://packages.dotdeb.org stable all
    2. 更新源: apt-get update
    3. 并安装php5-gd库: apt-get install php5-gd
  3. 重新编译完整版本的GD库
    1. 下载源码包 apt-get source php5
    2. 修改部分代码 debian/rules 文件中的 –with-gd=shared,/usr –enable-gd-native-tt[……]

      继续阅读 »

“人多力量大”,Bitcoin 计算网络威力初现

随着了解Bitcoin的人越来越多,对于这种不会贬值的虚拟货币兴趣也与日俱增。随着参与人数的增加,挖掘Bitcoin的难度是按指数级增长的。由于显卡中的GPU天生适合平行计算,其能力很容易扩展,因此利用GPU构建的计算平台在这种暴力计算环境下显得特别适合。问题是这样的计算能力增长的速度如此之快,以至于威胁到了互联网安全认证的核心——RSA算法。 RSA被广泛应用在SSL等端到端的加密通信中。目前国际的电子商务规范中,除了CA这样的根证书要求2048bit长度的密钥外,其他应用场合一般只要求1024bit。而目前所有BitCoin矿工的计算能力如果集中在一起,大概有46petaflops,破解RSA-1024大概需要6.4年。但是如果这个平台的计算能力积蓄增长,那么根据某俄罗斯博客的计算: 1)2012年初期,平台将具有3.8 eksaflops能力,破解RSA-1024将需要28.5天         2)2012年中期,能力将增加到242 eksaflops,破解RSA-1024将需要11小时 &#[……]

继续阅读 »

Bitcoin 与 Hadoop

Hadoop是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。 Hadoop 是一个能够对大量数据进行分布式处理的软件框架。但是 Hadoop 是以一种可靠、高效、可伸缩的方式进行处理的。Hadoop 是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。Hadoop 是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。Hadoop 还是可伸缩的,能够处理 PB[……]

继续阅读 »

Bitcoin任务分配随想

Bitcoin 所共享的数据就是一大堆 block,那么一个 block 里装有什么内容呢?见图1: 图5:一个Block的内容,以及Block链 一个block的主要内容是“最近的交易列表”和“上一个block的hash值”。交易列表记录着产生当前block这段时间内整个Bitcoin网络的所有交易记录,包括汇出地址、汇入地址、金额等。“上一个block的hash值”用于定位上一个block,有这个数据之后所有block就可以按顺序地形成一条链。一条完整的链记录着Bitcoin网络从诞生一刻开始直到未来所有的交易记录,这些记录会共享到每一个运行Bitcoin的节点。这里有个网站可以浏览每一个block和每一笔交易的具体内容:http://blockexplorer.com/ 。(题外话:在这个链当中的第一个block是比较特殊的,它是创始人Satoshi Nakamoto人为创造的,所以称为 Genesis Block)。 假如Bitcoin得到广泛应用,每个block中的交易列表会相当庞大,那么每个运行Bitcoin的节点会耗费大量的储存空间,到时可能更多人不再运行Bi[……]

继续阅读 »

Bitcoin P2P技术详解

Bitcoin网络不存在服务器或者中心节点,所以所有block都是从其他人所运行的Bitcoin程序处(下面称为节点)下载的,同时你已经下载的block也会共享给其他还没下载的节点。那么 Bitcoin是如何发现网络上其他节点的呢? 运行 Bitcoin 时它会首先连接一个指定的IRC(一种古老的网络聊天服务)服务器(irc.lfnet.org),然后加入 “#bitcoin”聊天频道并声明自己的IP地址,当 Bitcoin 程序查询当前聊天频道的用户时,就能获取网络上其他节点的IP地址了,然后bitcoin会自动连接一定数量的节点,可见IRC在Bitcoin网络中充当着媒介角色。假如IRC服务器当掉,那么第一次运行Bitcoin 程序时程序会调出内置的一批IP地址(称为“种子节点”)然后试图连接这些节点。Bitcoin 连接到某个节点之后还能通过那个节点获取更多其他节点,即所有节点同时也充当媒介角色,这样一个P2P网络就形成了。 Bitcoin 程序所有的功能都依赖于 Bitcoin P2P网络,有时运行 Bitcoin 程序会发现连接数(见图1窗口中底部的 connection[……]

继续阅读 »

WordPress: 利用xmlrpc的metaWeblog.newMediaObject方法上传图片

metaWeblog.newMediaObject (blogid, username, password, struct) 方法说明: 1.参数:blogid、username、password,blogid代表blog的id,在wordpress里一般是1;username、password分别是WordPress的用户名密码;struct是一种struct结构,必须包含name、type和bits三个元素,其中name就是数据名字,type之mime type,bits为经过base64编码的数据流,类型为string 2.返回值:如果调用成功,返回一个struct,至少包含一个url元素,代表数据的HTTP或者FTP URL 关于参数: 1.参数struct,name不用多说,提供字符串名字即可 2.type可以利用mime_content_type()函数获取(限于PHP5.3以下,这个函数5.3不用了,可以用fileinfo()代替) 3.bits元素,需要将媒体(图片)等打开,利用xmlrpcval类来进行base64 编码操作,不能直接[……]

继续阅读 »

PHP移除数组重复元素并重新索引: array_unique 和 array_values

问题: PHP中移除数组重复元素用的函数是array_unique。该函数移除重复的元素,但是剩下来这些元素的索引没有变化,这样的话如果用for循环调用这个数组元素的时候就会发生错误了,因为for循环的时候是按照数字递增,而且大多数人用的是count($test_array_unique)来获得数组的大小,这样就会造成一些元素被遗漏 解决办法: 当然,这里解决办法太多了,我介绍的只是一种我觉得比较简单的方法,那就是函数array_values,array_values是返回数组的值,跟索引没有关系,这样处理后会形成一个新的数组,严格按照数字递增的索引,这样再使用for循环输出边一切OK了! 转载自:http://www.fotree.com/tag/array-unique/[……]

继续阅读 »