ちゃんと覚えておけよ?

忘れちゃいけない事のメモ、覚え書き

nginx環境でGoogle XML Sitemapsを使ったらsitemap.xmlが404を吐いてしまったので、表示されるように対応

nginxのキャッシュを有効にしたら、Wordpressのプラグイン「Google XML Sitemaps」が出力するsitemap.xmlが404になってしまったので、「Google XML Sitemaps」の管理画面を見てみると、以下のように書かれていた。

Since you are using Nginx as your web-server, please configure the following rewrite rules in case you get 404 Not Found errors for your sitemap:
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;

早速、nginxの設定ファイルの「/etc/nginx/conf.d/default.conf」に追加してnginxを再起動すると無事sitemap.xmlの表示が復活した。

rewrite /wp-admin$ $scheme://$host$uri/ permanent;

#Google XML Sitemaps
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;

Comment

*