利用BAE做CDN
露水晨曦发给我的一段代码,和花七七一起研究后做了一点小修改
这段代码可以放在BAE,把BAE当作CDN来为网站加速
但是目前也存在一些小问题,比如不能登陆和评论,猜测是Cookie出了问题
如果加速不需评论、不需登录的静态页面,看似还可以
CDN测试页面在这里:http://froyosblog.duapp.com/
记录下来,以后有时间再搞:
<?php
define('STATIC_URL','http://www.izhuyue.com/');
define('DOMAIN','换成自己的Bucket');
$content_type = 'text/html; charset=UTF-8';
$request = ltrim($_SERVER['REQUEST_URI'],'/');
$temp = array();
if(preg_match('/\.(jpg|jpeg|png|gif|css|js)$/i', $request,$temp)===1){
switch($temp[1]){
case 'jpg':{$content_type="image/jpeg";}break;
case 'jpeg':{$content_type="image/jpeg";}break;
case 'png':{$content_type="image/png";}break;
case 'gif':{$content_type="image/gif";}break;
case 'css':{$content_type="text/css";}break;
case 'js':{$content_type="text/javascript";}break;
}
}
$instance = new BaiduBCS();
if($instance->is_object_exist(DOMAIN,'/'.$request)){
$content = $instance->get_object(DOMAIN,'/'.$request)->body;
}else{
$content = @file_get_contents(STATIC_URL.'/'.$request);
$instance->create_object_by_content(DOMAIN,'/'.$request,$content);
}
header("Expires:".date("D, j M Y H:i:s GMT",time()+315360000));
header("Last-Modified:Sat,26 Jul 1997 05:00:00 GMT");
header('Content-type:'.$content_type);
header('Cache-control:public');
echo $content;
能不能用在其他地方?
只能BAE
奇怪,bae不是收费了吗?
花七七不是挂了么 =.=
用插件直接把图片存到BCS上就行了。。JS和CSS也可以直接存过去。。无毒副作用~