🚀 サイト構築が難しい?手取り足取りご案内します——「WordPressサイト構築伴走」サービスを詳しく見る →

All in One SEO Pack Pluginのsitemap.xml 404エラーの解決方法

相信很多人在给网站生成sitemap.xml文件的时候都是使用的Google XML Sitemaps这款插件,奶爸之前也是,后来发现All in One SEO Pack的功能里面实际上自带了一个sitemap生成的组件,就没有使用Google XML Sitemaps来生成了。 刚才突然发现sitemap.xml 404了,切换到Google XML Sitemaps同样是404,不知道是什么原因,这两天就折腾了文件缓存(看了下规则,应该就是xml设置了缓存8天导致的404,把xml排除出去就可以了。)下面说下sitemap.xml文件404的解决办法。 出现404的情况基本上都是伪静态配置的问题。 例如写这篇文章的时候突然发现原来是我折腾文件缓存的时候把xml文件也缓存了,去掉缓存规则就可以了。

sitemap.xml 404的解决办法

保险的方法是给sitemap.xml添加伪静态规则。 以下两个伪静态规则测试都有效。 Google XML Sitemaps这款插件推荐的nginx规则
rewrite ^/sitemap(-+([a-zA-Z0-9_-]+))?\.xml$ "/index.php?xml_sitemap=params=$2" last;
rewrite ^/sitemap(-+([a-zA-Z0-9_-]+))?\.xml\.gz$ "/index.php?xml_sitemap=params=$2;zip=true" last;
rewrite ^/sitemap(-+([a-zA-Z0-9_-]+))?\.html$ "/index.php?xml_sitemap=params=$2;html=true" last;
rewrite ^/sitemap(-+([a-zA-Z0-9_-]+))?\.html.gz$ "/index.php?xml_sitemap=params=$2;html=true;zip=true" last;
All in One SEO Pack推荐的规则
#rewrite rules for AIOSEOP XML Sitemap
rewrite ^/sitemap.xml$ /index.php?aiosp_sitemap_path=root last;
rewrite ^/sitemap_(.+)_(\d+).xml$ /index.php?aiosp_sitemap_path=$1&aiosp_sitemap_page=$2 last;
rewrite ^/sitemap_(.+).xml$ /index.php?aiosp_sitemap_path=$1 last;
rewrite ^/sitemap.xml.gz$ /index.php?aiosp_sitemap_path=root.gz last;
rewrite ^/sitemap_(.+)_(\d+).xml.gz$ /index.php?aiosp_sitemap_path=$1.gz&aiosp_sitemap_page=$2 last;
rewrite ^/sitemap_(.+).xml.gz$ /index.php?aiosp_sitemap_path=$1.gz last;

Nginx伪静态规则添加方法

只需要将上面的伪静态规则添加到你虚拟主机的nginx配置文件,然后重启nginx即可。 LNMP一键包的用户,直接添加到include rewrite/wordpress.conf;这串代码上面。 宝塔面板用户,在你网站的伪静态规则里面添加上面的代码即可。

其他注意事项

如果你使用了缓存插件,那么记得把下面这两个页面都添加到例外,以免出现游客访问缓存页面出错的情况。 sitemap.xml sitemap.xsl

🚀 チュートリアルを見てもまだ迷っていますか?私が直接手を取ってご案内しましょう

「WordPressサイト構築伴走サービス」——ドメイン名の選択、ホスティングの購入から、Themeのインストール、公開、投稿まで、すべてのステップで私が伴走し、遠回りをせずに目標に直行します。

👉 サイト構築伴走サービスについて詳しく知る
🔒

コメントは閉鎖されました

この記事のコメント機能は閉鎖されています。ご質問がある場合は、他の方法でお問い合わせください。

×
二维码

QRコードをスキャンしてフォロー