根据这篇博文,如果https://example.com/blog/?sitemap=1有效,那就不好了。
这是一个子目录中的 wordpress 安装。
Yoast 在那篇文章中建议使用此重写:
# Rewrites for Yoast SEO XML Sitemap
rewrite ^/sitemap_index.xml$ /index.php?sitemap=1 last;
rewrite ^/([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?sitemap=$1&sitemap_n=$2 last;
这不起作用,因为我的 wordpress 安装(在同一台服务器上 3 个)都在子目录中。
如何获得两行 nginx 配置,即使对子目录中的多个站点也有效?
此外,当我尝试以下操作时,它甚至对一个子站点都不起作用:
rewrite ^/blog/sitemap_index.xml$ /blog/index.php?sitemap=1 last;
rewrite ^/blog/([^/]+?)-sitemap([0-9]+)?.xml$ /blog/index.php?sitemap=$1&sitemap_n=$2 last;
因为 ?sitemap=1 仍然有效。
我做错了什么,如何将其推广到多个子站点?