- 09
- 三月
网站优化:压缩篇
今天在站长站看到PHP如何使用gzip压缩页面的文章,自己研究了一下,基本有两种压缩页面的方法:
一、使用PHP,开启gzip功能进行压缩
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | < ?php if(Extension_Loaded('zlib')) Ob_Start('ob_gzhandler'); Header("Content-type: text/html"); ?> < !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> </head> <body> < ?php for($i=0;$i<10000;$i++){ echo 'Hello World!'; } ?> </body> </html> < ?PHP if(Extension_Loaded('zlib')) Ob_End_Flush(); ?> |
这种方法只能压缩html页面,对css、js等文件没有压缩
查看全文>>
- 19
- 一月
OneApp开发环境搭建
操作系统
Windows7 旗舰版
开发工具
Microsoft Visual Studio 2010 Ultimate
Version 10.0.21006.1 B2rel
OneApp 版本
OneApp 2.0 SDK Beta
开发环境需求
Microsoft .NET Framework 3.5
下载地址: http://www.microsoft.com/downloads/
Microsoft Visual Studio 2010 Beta 2
下载地址: http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx
查看全文>>
- 17
- 十二月
PHP用ob_start() 方法判断输出结果
今天遇到一个问题,PHP的一个方法返回的是一个打印信息,我在页面调用此方法就不能判断如果它打印空的情况(我想把方法打印空的情况用其他字符串代替)
因为这是一个通用的方法,也不是我写的,所以不能去更改方法本身。当然也不能用 if ( functionName() == NULL) 来判断,因为方法只是来输出一个字符串或者空值。
最后自己用了一个拙劣的方法,用ob_start() 来解决。下面是代码
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php ob_start(); previous_post_link('%link', '%title', false); $previous_link = ob_get_contents(); ob_end_clean(); ob_start(); next_post_link('%link', '%title', false); $next_link = ob_get_contents(); ob_end_clean(); <p>前一篇: <?= $previous_link == NULL ? "没有了" : $previous_link ?><br />后一篇: <?= $next_link == NULL ? "没有了" : $next_link ?></p> ?> |
如果有某位大虾更好的方法,请留言告诉我~谢谢!
- 02
- 十二月
爱上Python
想学Python有段日子了,一直静不下心来,想想也应该多学一门语言了,所以,就从现在开始学吧。
因为之前搞php的,所以我也从 Python 的web编程学起。
这是 Python 的测试页面:http://py.onecho.com

服务器环境:
Linux(CentOs5.2) + Apache + Python2.62 + mod_pyton,用的 Djnago 框架
- 30
- 十一月
PHP 使用 cURL 函数验证 NTLM
最近同事做了一个手机接口,对方的短信业务接口平台是.net,并使用NTLM登录,因为以前都没有做过此类的接口,所以,我也来帮着找找解决方法。
先看看什么是NTLM
NTLM是NT LAN Manager的缩写,这也说明了协议的来源。NTLM 是 Windows NT 早期版本的标准安全协议,Windows 2000 支持 NTLM 是为了保持向后兼容。Windows 2000内置三种基本安全协议之一
用php如何在页面程序里面登录NTLM呢?网上说了要用到cURL,自己在查了一下,获得了以下的方法:
查看全文>>
- 20
- 十一月
两台服务器间数据移植
因为小说站24note(http://www.24note.cn) 所在的服务器的压力大,再加上软件的问题,导致服务器不稳定,虽然现在的方法是每隔1小时重启下apache,但是也不是长久之计,所以,今天晚上就加班把24note 上面的数据都移植到另外一台服务器上面。
其实数据移植并不困难,但是数据量真的太大了,小说站上面有大量的静态页、txt文件、手机小说书的jrd 文件等等,还有一个几百兆的数据库,所以就不能用传统的ftp来操作了。
linux 有很多很好的工具,来实现不同服务器间的数据移植。我用的是scp命令:
#scp -r 用户名@原数据所在服务器IP : 原数据的局对路径 当前服务器的数据存放位置
查看全文>>
- 04
- 十二月
最近做PHP采集,发几个实用的函数
//获得当前的脚本网址 function get_php_url(){ if(!empty($_SERVER["REQUEST_URI"])){ $scriptName = $_SERVER["REQUEST_URI"]; $nowurl = $scriptName; }else{ $scriptName = $_SERVER["PHP_SELF"]; if(empty($_SERVER["QUERY_STRING"])) $nowurl = $scriptName; else $nowurl = $scriptName."?".$_SERVER["QUERY_STRING"]; } return $nowurl; } <a href="http://www.onecho.com/2008-12-04/441.html#more-441" class="more-link"><br /><strong>查看全文>></strong></a>
- 17
- 九月
WordPress标题不显示中文标签的解决办法
最近发现wordpress的一个bug,就是按标签查看时,如果标签含有中文,在页面的标题,也就是title没有显示所选标签。那如何解决呢?
下面是我的方法:
首先修改.htaccess 文件加上
RewriteRule ^tag/(.*)$ /index.php?tag=$1 [L]
#说明:(.*)即使匹配所有包括中文和英文的标签值,然后把匹配后的值放在$1里面
也就是每个标签的页面跳转到index.php?tag=$1,这样我们就能通过GET方法等到这个标签的title了
然后我们打开主题对应文件夹下面的header.php页面,在<title>标签里面加上这段,如
<title>
<?php wp_title('');
if ($_GET['tag']) echo $_GET['tag'];
if (is_search() ) { ?>
搜索 <?php echo $s; }
if ( !(is_404()) and (is_search()) or (is_single()) or (is_page()) or (function_exists('is_tag') and is_tag()) or (is_archive()) ) { ?>
» <?php } ?>
<?php bloginfo('name'); ?>
</title>
这时不管打开的是中文或者英文的标签,都可以在标题上面正常显示了^_^ Good Luck
- 14
- 九月
解决WordPress 2.6日志ID不连续的方法
| 核心提示:请注意这两个操作缺一不可,如果不启用“禁用WordPress自动保存的插件”,那么每篇文章都会出现一个自动保存的记录。 |
已经发布的WordPress 2.6版有一个很讨厌的功能,就是Post Revisions(文章的版本控制),在默认的情况下,日志的ID将不再连续,使用ID做为Permalink结构的用户将会看到一个地址越来越混乱的WordPress,现在我给一个解决WordPress的ID不连续的方法。
按照此文的方法,在wp-config.php文件中增加一行define(’WP_POST_REVISIONS’, false),同时安装“禁用WordPress自动保存的插件”,在WordPress后台启用此插件。
请注意这两个操作缺一不可,如果不启用“禁用WordPress自动保存的插件”,那么每篇文章都会出现一个自动保存的记录。
另外,对于数据库有“洁癖”的WordPress用户来说,可能想要删除由于Post Revisions导致的表内的垃圾信息,同时将ID设置为连续,下面是我写的一段SQL脚本,请在phpmyadmin中使用。
删除是Post Revisions垃圾信息,请执行:
delete from wp_posts where post_type = ‘revision’;
将ID重新设置为连续,这个比较麻烦,设置一个ID就要4条SQL语句,我仅仅举一个例子,将ID为59的文章修改为ID为58,需要执行以下语句。
update wp_posts set id = 58 where id = 59;
update wp_term_relationships set object_id = 58 where object_id = 59;
update wp_postmeta set post_id = 58 where post_id = 59;
update wp_comments set comment_post_ID = 58 where comment_post_ID = 59;
如果用户需要修改的文章较多,需要批量复制、修改和执行上面四行。
原创文章如转载,请注明:转载自月光博客 williamlong.info/
- 13
- 九月
[SEO]WordPress 优化之 robots.txt
来源:站长站
由于链接的的指向,而导致网站内容重复,一直是网站SEO的大忌。不同的链接指向同一个网页,就会被搜索引擎判定为作弊。昨天提到的WordPress重定向插件,在一定意义上也是为了阻止重复内容。然而,由于WordPress的结构原因,往往就会发生网页内容重复的状况。例如:http://www.domain.com/archive/1 和 http://www.domain.com/archive/1/feed两个网址下的内容就是一样的,所以,我们就必须想办法阻止这样的情况发生。
通常,解决重复内容的方法有:使用noindex标签,利用excerpt实现内容摘要,以及配置robots.txt。今天就主要说说在WordPress下使用robots.txt文件。
robots.txt文件就像一个网站的大门,它会告诉搜索引擎的蜘蛛,可以抓取哪里的网页内容,哪里的不能抓取。因此,配置好robots.txt文件,完全可以理想的组织blog内容重复的问题。robots.txt的具体文法和使用方法,可以参考robotstxt.org。在国内,此类的WordPress robots.txt比较流行:
查看全文>>
