首页 > 解决方案 > 404 在 nuxt.js 上找不到 sitemap.xml

问题描述

我正在使用 nuxt.js sitemap-module来生成 sitemap.xml 它npm run build && npm run start在本地完美地工作。

但是,当它使用 Nginx 在云上时,它就不起作用了。https://vtapau.com/sitemap.xml

这是我的 Nginx 配置

server {
        listen 80;
        server_name vtapau.com www.vtapau.com;

        location / {
                proxy_pass http://localhost:8081/;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_redirect off;
        }
}

标签: javascriptnginxnuxt.jssitemap

解决方案


首先,我真的不知道这是否是对您的有效答案,因为您提到您已将手动创建的站点地图放入静态文件夹中。

我认为您错误地配置了站点地图,为了使 sitemap.xml 正常工作,您在站点地图对象中设置了路线:

// nuxt.config.js

{
  sitemap: {
    hostname: 'https://example.com',
    gzip: true,
    exclude: [
      '/secret',
      '/admin/**'
    ],
    routes: [
      '/page/1',
      '/page/2',
      {
        url: '/page/3',
        changefreq: 'daily',
        priority: 1,
        lastmod: '2017-06-30T13:30:00.000Z'
      }
    ]
  }
}

当我被要求选择语言时,我怀疑您的站点地图已拆分为不同的语言。我设法在这里获得了英文版站点地图。

如果您的站点地图配置如下:

// nuxt.config.js

{
   sitemap: {
     hostname: 'https://example.com',
     lastmod: '2017-06-30',
     sitemaps: [
       {
          path: '/sitemap-foo.xml',
          routes: ['foo/1', 'foo/2'],
          gzip: true
       }, {
          path: '/folder/sitemap-bar.xml',
          routes: ['bar/1', 'bar/2'],
          exclude: ['/**']
       }
     ]
   }
}

您应该能够在https://vtapau.com/sitemapindex.xml获取您的站点地图。我希望这不是您创建的静态 xml,否则我已经无能为力了。该文档在sitemap-module中明确提到,当配置错误的东西总是返回到 github 文档或通过 github 问题找到答案。

  • 也很高兴看到马来西亚新的食品配送初创公司。

推荐阅读