今天把Baidu Sitemap Generator搞到SAE上来了

2011-11-16

偶今天花了几分钟,把Wordpress插件Baidu Sitemap Generator搞到了Sina App Engine上边。嘻嘻!

偶的百度站点地图:https://mawenjian.net/sitemap_baidu.xml,。

说下运行过程吧,先让Baidu Sitemap Generator将文件写入到Storage中,然后写个CURL的PHP文件抓取Storage中的sitemap,最后rewrite一下,搞定!

首先下载个Baidu Sitemap Generator插件,猛击这里

然后,打开sitemap-function文件,找到第229行的IsFileWritable($filename)函数,把所有代码全部屏蔽,直接返回true。

function IsFileWritable($filename) {
  /*
        //can we write?
	if(!is_writable($filename)) {
		//no we can't.
		if(!@chmod($filename, 0666)) {
			$pathtofilename = dirname($filename);
			//Lets check if parent directory is writable.
			if(!is_writable($pathtofilename)) {
				//it's not writeable too.
				if(!@chmod($pathtoffilename, 0666)) {
					//darn couldn't fix up parrent directory this hosting is foobar.
					//Lets error because of the permissions problems.
					return false;
				}
			}
		}
	}
	//we can write, return 1/true/happy dance.
*/
	return true;
}

然后打开baidu_sitemap.php文件,找到

file_put_contents("$filename","$baidu_xml");

,替换为

/*file_put_contents("$filename","$baidu_xml"); */
$stor = new SaeStorage();
$stor->write ("wordpress", "sitemap_baidu.xml","$baidu_xml");

。再找到

file_put_contents("$filename_html","$html");

,将其替换为

/*file_put_contents("$filename_html","$html"); */
$stor = new SaeStorage();
$stor->write ("wordpress", "sitemap_baidu.html","$html");

PHP抓取文件代码(sitemap_baidu.php):

<?php
	header("Content-Type:text/xml ");
	$f = new SaeFetchurl();
	$data = $f->fetch("http://mawenjian-wordpress.stor.sinaapp.com/sitemap_baidu.xml"]);
	echo $data;
?>

rewrite的代码:

handle:
  - rewrite:if (path ~ "\/sitemap_baidu.xml$") goto "sitemap_baidu.php"
  - rewrite:if (!is_file() && !is_dir() && path ~ "^/(.*)") goto "index.php/$1"

搞定定。。。打包文件见这里

最后严重声明下,版权归原作者所有,和我木有半毛钱关系!

除非特殊说明,本博客文章均为原创,转载请以链接形式标明博文地址。

本文链接地址: 今天把Baidu Sitemap Generator搞到SAE上来了

分类:WordPress | 标签: |

一条评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注