我在另一个 wordpress 安装的子目录中有一个单独的 wordpress 安装。子目录的名称是“blog”(这不是多站点设置)。我对 nginx 的重写规则是:
location ~ ([^/]*)sitemap(.*)\.x(m|s)l$ {
rewrite ^/sitemap\.xml$ /sitemap_index.xml permanent;
rewrite ^/([a-z]+)?-?sitemap\.xsl$ /index.php?xsl=$1 last;
# Rules for yoast sitemap with wp|wpsubdir|wpsubdomain
rewrite ^.*sitemap_index\.xml$ /index.php?sitemap=1 last;
rewrite ^.*/([^/]+?)-sitemap([0-9]+)?\.xml$ /index.php?sitemap=$1&sitemap_n=$2 last;
}
为 example.com/sitemap_index.xml 和 example.com/blog/sitemap_index.xml 生成站点地图,但两者相同,并且不包含子目录(博客)中第二次安装的帖子。我知道这与子文件夹的重写规则配置有关,但我无法弄清楚究竟是什么问题。我正在使用 Yoast 插件,并在两个安装(即根目录和子文件夹)上分别安装了 Yoast 插件。