我已经通过yoast安装了wpseo,并且它没有列出站点地图中的所有链接。 它只是索引xml站点地图。
例如:
http://domain.com/sitemap_index.xml list the following xml files.
When i click any one of the following xml file it goes to 404 page.
http://domain.com/post-sitemap.xml
http://domain.com/page-sitemap.xml
以下是我的nginx配置:
rewrite ^/sitemap\.xml$ /sitemap_index.xml permanent;
rewrite ^/([a-z]+)?-?sitemap\.xsl$ /index.php?xsl=$1 last;
rewrite ^/sitemap_index\.xml$ /index.php?sitemap=1 last;
rewrite ^/([^/]+?)-sitemap([0-9]+)?\.xml$ /index.php?sitemap=$1&sitemap_n=$2 last;
参考:
http://kb.yoast.com/article/16-my-sitemap-is-giving-a-404-error-what-should-i-do
http://kb.yoast.com/article/123-xml-sitemap-errors
http://www.wpbeginner.com/wp-tutorials/how-to-fix-yoasts-wordpress-seo-sitemap-404-error/
http://kb.yoast.com/article/96-enable-xml-sitemaps-in-the-wordpress-seo-plugin
答案 0 :(得分:0)
我是从htpcbeginner尝试过来的,效果很好。
将以下行放在yoursite.com文件中的位置块中
/etc/nginx/sites-avaliable
并且不要忘记将其重新链接到/etc/nginx/sites-enabled
文件夹。
#This rewrite redirects sitemap.xml to sitemap_index.xml, which is what Yoast's WordPress SEO plugin generates.
rewrite ^/sitemap\.xml$ /sitemap_index.xml permanent;
#This rewrite ensures that the styles are available for styling the generated sitemap.
rewrite ^/([a-z]+)?-?sitemap\.xsl$ /index.php?xsl=$1 last;
#These rewrites rule are generated by Yoast's plugin for Nginx webserver.
rewrite ^/sitemap_index\.xml$ /index.php?sitemap=1 last;
rewrite ^/([^/]+?)-sitemap([0-9]+)?\.xml$ /index.php?sitemap=$1&sitemap_n=$2 last;
/%postname%/
。sudo service nginx restart
这应该适合你。古德勒克。