分类为 服务器相关 的存档
每次都要清理cache?强制不让浏览器缓存!
Author: cbm5 十一 2008
做过网页方面工作的朋友一定知道浏览器缓存(cache)这个机制,但是在开发中是一个比较烦人功能,每次修改了代码,想刷新看结果,这时你就有可能被浏览欺骗,看到的是上次缓存住的结果页面,然后接着N次的修改代码,结果才发现是被缓存了,于是要养成一个每次刷新页面看结果的时候要记得清理缓存。。。效率和心情就这样被搞下去了。
很烦啊,最近在开发一个Flex项目,生成的swf时不时被浏览器缓存住,调试的时候老会怀疑是不是被缓存了,实在是太影响开发了,干脆发时间先搞定浏览器缓存的问题,一劳永逸,强制浏览器每次都去服务器读取数据。
在Apache的配置文件httpd.conf中确已经加载mod_headers模块
阅读全文(452字)
- 15 Comments , 18,621 Hits
- Filed under: 分享我自己, 服务器相关
-
Tags: Apache
优化WordPress心得(3) 锁住图片和下载 向非法转载说NO!
Author: cbm27 七 2008
最近忙了点,分享下如何在他人非法转载时盗用自己网站的图片和下载资源时,如何将无尽的坏处变为那么一点的好处。:)
我的Blog定位在个人原创性质内容,经常看到一些转载者转载,没注明文章出处不说,还盗链我的图片和提供的下载链接。
在转载页面上看来,文章和资源看上去就是他的原创,在此表示十分鄙视!
这样的非法转载会使得网站的流量被盗链者利用,多出的流量也没有给自己网站带来任何好处,自己的网站也没有得到更好的宣传。可不能默默忍受,让这些盗链者太过嚣张。
阅读全文(838字)
面向对象(OOP)的使用WordPress系统 一拖N的用法[原]
Author: cbm30 六 2008
今天和一位网友交流cacheAsFile的使用,从中得知他的网站空间为了实现三个各不相同的网站,已放置三个Wordpress系统来实现。
操作实现是在网站的根目录下放置一个Wordpress系统,再建立子目录来放置其他的Wordpress系统。可真难为了这位朋友。
这个其实是很简单而且很实在的方法,但是维护成本确是很高的,而且目录结构也不怎么不雅观。
这种模式看来有点像传统的面向过程编程,复用性太低,那么面向对象编程(OOP)怎么来处理好这个需求呢?
阅读全文(886字)
- 91 Comments , 43,395 Hits
- Filed under: 代码人生, 服务器相关
-
Tags: php, WordPress
优化WordPress心得(2) cacheAsFile 缓存函数结果到文件 选择性静态化
Author: cbm26 六 2008
前面有写过一篇如何Gzip压缩CSS和JS文件的优化WordPress心得(1),现在又有时间整理优化心得了。
Cache Function As File(缓存函数结果到文件)这句话是学的Flash AS程序中的cacheAsBitmap ,在Wordpress中主要是缓存一个函数的返回结果到一个文件,供下次使用。然而有这个必要吗?
我使用到的站点地图插件Dagon Design Sitemap Generator,每次访问都会查询整个数据库,然后根据一定算法做字符串拼接处理,这样来生成出看到的成站点地图的html代码,但随着文章的增多,现在仅站点地图生成的html字节大小已达120K。
同样,通常在主题上存在的档列表,标签云,分类列表,友情链接这样的列表,而这些类容通常更新频率并不高,而默认情况下是每次访问都需要查询数据库再进行字符串拼接来动态生成。数据库、服务器每次都需要进行重复的运算。这样网页打开的速度慢了,服务器的负荷也上去了,性能的瓶颈产生了。
阅读全文(1350字)
- 3 Comments , 38,416 Hits
- Filed under: 分享我自己, 服务器相关
-
Tags: php, WordPress
优化WordPress心得(1) Gzip压缩CSS和JS
Author: cbm29 五 2008
提前完成手上的事情,来总结一下前不久给自己小站优化心得。
gzip压缩功能在wordpress 2.3时代已经使用得普及了,好处很明显,而且99%的浏览器都支持以gzip模式压缩的网页。压缩率也非常的高,可达60%~90%,对于优化网页下载速度是非常见效的。(但是2.5版本开始没有这项功能了,如何手动开启?)
但是,由于是压缩就会耗费服务器的CPU资源,所以在CPU使用高的时期,Gzip压缩模式下的网页访问速度可能比没有压缩的网页还要慢。
这个就是所谓的时间换空间的概念了。我想,要是能解决了每次访问都要CPU来压缩的问题,直接从压缩文件来输出那就可以弥补这一矛盾的问题了。
阅读全文(826字)
- 29 Comments , 78,778 Hits
- Filed under: 前端技术, 服务器相关
-
Tags: php, WordPress
换新服务器 整上Apache rewrite
Author: cbm27 二 2007
今天开工了。猪年的工作开始了。cbmland.com 也换上新的服务器。整上 Apache rewrite(重写规则)
鲜明一点就是提供友好的URL。通过URL的伪静态使页面可以更好的为搜索引擎抓取。其中的关键字不仅能够增强用户体验,还有利于网页在搜索引擎中的排名。
其中需要写.htaccess文件来指定重写规则
RewriteEngine On 开启Rewrite
阅读全文(284字)
ASP目录遍历
Author: cbm13 十 2005
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<% set fso = CreateObject("Scripting.FileSystemObject") targetPath=".. ext" uploadPath = server.mappath(targetPath) Set uploadfolder = fso.GetFolder(uploadPath) set allfiles = uploadfolder.Files for each fileitem in allfiles sFileName = fileitem.Name ''判断文件类型 if right(sfilename,3)="png" _ or right(sfilename,3)="bmp" _ or right(sfilename,4)="aspx" _ or right(sfilename,3)="mid" _ or right(sfilename,3)="amr" _ or right(sfilename,3)="txt" _ or right(sfilename,4)="html" _ or right(sfilename,3)="htm" _ or right(sfilename,3)="jpg" _ or right(sfilename,3)="gif" _ or right(sfilename,3)="asp" _ then response.write "<a href='"&targetPath&sFileName&"' target=_blank>"&sFileName&"</a><br>" end if next %> |
- No Comments , 10,677 Hits
- Filed under: 代码人生, 学习笔记, 服务器相关
-
Tags: asp
ASP文件,文件夹备份操作
Author: cbm7 十 2005
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<% sub copyfolder sFolder=server.mappath(targetFolder) oFolder=server.mappath(newFolder) set fso=server.createobject("scripting.filesystemobject") fso.copyfolder sFolder,oFolder set fso=nothing end sub sub copyfile sFile=server.mappath(targetFile) oFile=server.mappath(newFile) set fso=server.createobject("scripting.filesystemobject") fso.copyfile sFile,oFile set fso=nothing end sub %> |
- No Comments , 6,419 Hits
- Filed under: 代码人生, 学习笔记, 服务器相关
-
Tags: asp
ASP遍历数据库
Author: cbm7 十 2005
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <!--#include file="inc/sql.asp"--> <% Set rstSchema = db.OpenSchema(20) Do Until rstSchema.EOF '遍历数据库表 if rstSchema("TABLE_TYPE")="TABLE" then response.write rstSchema("TABLE_NAME") & ":" set rs=db.execute("select * from " & rstSchema("TABLE_NAME")) for i=0 to rs.fields.count-1 '遍历表中字段 response.write rs(i).name &" " next end if response.write "<br>" rstSchema.MoveNext Loop %> |
一个很好的月历函数,想自己作Blog系统的不要错过哦!
Author: cbm19 二 2005
一个很好的月历函数,想自己作Blog系统的不要错过哦!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
<?php function calendar($MM,$YYYY){ if($MM=="") $MM = date("m"); if($YYYY=="") $YYYY = date("Y"); if(checkdate($MM,1,$YYYY)){ $stringDate = strftime("%d %b %Y",mktime (0,0,0,$MM,1,$YYYY)); $days = strftime("%d",mktime (0,0,0,$MM+1,0,$YYYY)); $firstDay = strftime("%w",mktime (0,0,0,$MM,1,$YYYY)); $lastDay = strftime("%w",mktime (0,0,0,$MM,$days,$YYYY)); $printDays = $days; $preMonth = strftime("%m",mktime (0,0,0,$MM-1,1,$YYYY)); $preYear = strftime("%Y",mktime (0,0,0,$MM-1,1,$YYYY)); $nextMonth = strftime("%m",mktime (0,0,0,$MM+1,1,$YYYY)); $nextYear = strftime("%Y",mktime (0,0,0,$MM+1,1,$YYYY)); print("<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\">"); print("<tr><th valign=\"top\"><a href=\"".$_SERVER['PHP_SELF']."?NB=".$_GET["NB"]."&MM=".$preMonth."&YY=".$preYear."\">P</a></th>"); print("<th colspan=\"5\" valign=\"top\">".strftime("%b %Y",mktime (0,0,0,$MM,1,$YYYY))."</th>"); print("<th valign=\"top\"><a href=\"".$_SERVER['PHP_SELF']."?NB=".$_GET["NB"]."&MM=".$nextMonth."&YY=".$nextYear."\">N</a></th></tr>"); print("<tr style=\"font-family: Verdana; font-size:x-small\">"); print("<th>Sun</th><th>Mon</th><th>Tue</th><th>Wed</th><th>Thu</th><th>Fri</th><th>Sat</th></tr>"); $currentDays = 1; for($a=1;$a<=5;$a++){ print("<tr align=\"left\" valign=\"top\" style=\"font-family: Verdana; font-size:x-small\">"); $diffDays = $firstDay-$lastDay; if($firstDay>$lastDay && $currentDays ==1 && ($diffDays<>1)){ for($x=$lastDay;$x>=0;$x--){ $printDays = $days-$x; print("<td>$printDays</td>"); } for($z=1;$z<$firstDay-$lastDay;$z++){ print("<td> </td>"); } for($y=$firstDay;$y<7;$y++){ print("<td>$currentDays</td>"); $currentDays++; } } elseif($firstDay!=0 && $currentDays==1){ for($z=1;$z<=$firstDay;$z++){ print("<td> </td>"); } for($y=$firstDay;$y<7;$y++){ print("<td>$currentDays</td>"); $currentDays++; } } else { for($u=1;$u<=7 && $currentDays<=$days;$u++){ print("<td>$currentDays</td>"); $currentDays++; } } print("</tr>"); } print("</table>"); } } ///to use if ($MM==""){$MM=12;$YY=2004;} calendar($MM,$YY) ?> |