很多使用 BAE 百度云空间搭建 WordPress 博客的朋友都应该知道 BAE 是禁止本地本地 I/O(I/O 也就是本地读写),这样给搭建网站带来了很多的不便,比如说在 BAE 环境上的 WordPress 站点无法借助插件来直接生成 sitemap 站点地图了,那么小编今天就来介绍如何在 BAE 环境下生成 sitemap 。

方法一:使用站点地图生成器生成网站地图并上传到 BAE 环境中

在线网站地图生成器:http://www.xml-sitemaps.com/

方法二:使用 php 动态的来读取 WordPress 数据库内容并列出链接。

首先在网站根目录下新建一个 v7v3.sitemap.php 并加入以下代码:

<?phpinclude 'includes/connection.php';require('./wp-blog-header.php');header("Content-type: text/xml");$posts_to_show = 1000; // 获取文章数量echo '<?xml version="1.0" encoding="UTF-8"?>';echo '<?xml-stylesheet type="text/xsl" href="/sitemap.xsl"?>'; // XSL 地址echo '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';?><!-- generated-on=<?php echo get_lastpostdate('blog'); ?>--><url><loc>http://www.weixiaoduo.com/</loc>  // 此处将域名改成你的站点根目录<lastmod><?php echo get_lastpostdate('blog'); ?></lastmod><changefreq>daily</changefreq><priority>1.0</priority></url><?phpheader("Content-type: text/xml");$myposts = get_posts( "numberposts=" . $posts_to_show );foreach( $myposts as $post ) { ?><url><loc><?php the_permalink(); ?></loc><lastmod><?php the_time('c') ?></lastmod><changefreq>monthly</changefreq><priority>0.6</priority></url><?php } // end foreach ?></urlset>

然后下载一个 Google Sitemap Generator 插件并将其中的 sitemap.xsl 取出来传到站点根目录,接着我们登录 BAE 的应用管理界面高级选项中来配置 sitemap 网站地图文件的链接。

添加如上图的规则,记住,顺序不能打乱,不然会造成 siemap 无法访问。