SAE环境下WordPress插件移植注意事项

2011-11-22

要想把wp插件成功移植到sae上,首先应该搞清sae支持的受限PHP语言和完整版本的PHP语言有何区别。我认为SAE和完整版PHP有如下区别:

最显著的不同莫过于文件操作和文件存储了。首先说文件操作,SAE出于安全性考虑,禁用了很多本地文件操作函数,并且没有提供替换的函数,我认为将来开放的可能性也不是很大,因为这关系到整个云平台的安全性。然后是文件存储,SAE采用和Amazon S3类似的存储技术,将静态文件存放到单独的服务器上,尽管这样有利于文件的集中管理,也有利于使用CDN技术将静态文件分发到网络边缘,但同时带来了一个问题——即不能使用PHP原生函数进行静态文件的存取操作,所以这部分函数需要替换掉。

其次,不同于Apache的.htaccess文件,SAE使用AppConfig文件来对web服务进行配置。如果wp需要使用urlrewrite等功能的,注意对此进行相应更改。

原先SAE不支持的cUrl函数、GD库等函数,现在已经通过函数重载实现,所以这部分可以不必考虑。

别的嘛,暂时没想出来,以后接着补充。

今天把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一下,搞定!

阅读全文 »

SAE环境下为WordPress增加Google XML Sitemaps

2011-09-09

由于新浪SAE(Sina App Engine)禁用了一些本地文件的操作函数,导致SAE环境下并不能直接使用WordPress的站点地图功能。为解决此问题,有热心的网友将Google XML Sitemaps插件移植到了SAE,也就是Google XML Sitemaps For SAE插件。该插件成功地解决了SAE环境下无法使用站点地图的问题。

Google XML Sitemaps For SAE插件通过将生成的SiteMap XML存放到Storage中,成功地绕开了SAE环境的限制。但是,其同时也带来了另外一个问题:由于SiteMap存储在Storage中,所以SiteMap的URL是类似于http://mawenjian-wordpress.stor.sinaapp.com/sitemap.xml这样的格式,SiteMap URL中的域名和你博客的域名显然不一致。大家都知道,在Google Webmaster中提交SiteMap的时候,需要保证你的SiteMap在你的站点的域名之下。所以,生成的这个站点地图就悲催了。。。

好在SAE提供了强大的FetchUrl功能,我写了一个简答的抓取页面Sitemap.php,当搜索引擎访问这个页面时,由SAE去Fetch前面生成的Sitemap文件,这样,路径问题就可以成功解决了。比如:我的站点地图的URL是:https://mawenjian.net/sitemap.php,而它实际上则是Fetch的Storage中的文件,只不过路径改变了而已。 阅读全文 »