首页 > 解决方案 > 在生产服务器中打开 /sitemap.xml 失败(404 页面)

问题描述

当我尝试在本地主机中访问 /sitemap.xml 时,它运行良好。但是,在我的生产服务器中,我得到一个 404 not found 页面。

设置

Ubuntu server, Apache2, Nuxt.js (mode: universal), Pm2

服务器文件夹包含以下文件:

/var/www/html/app
    .env 
    .nuxt 
    package.json 
    nuxt.config.js

Apache2 虚拟主机

<VirtualHost *:80>
    ServerName www.site.com
    #ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/app

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    # has Nuxt runs on port 3000
    ProxyPass / http://localhost:3000
    ProxyPassReverse / http://localhost:3000
</VirtualHost>

pm2 正在使用以下命令为我的应用程序提供服务:

pm2 start app

nuxt.config.js

modules: ['@nuxtjs/sitemap'],

  // Sitemap: https://www.npmjs.com/package/@nuxtjs/sitemap
  sitemap: {
    path: '/sitemap.xml',
    hostname: process.env.APP_URL,
    gzip: true,
    exclude: [
      '/login'
      '/profile',
    ],
    routes: async () => {
      const { data } = await axios.get(`${process.env.API_URL}/fetchAllCities`)
      return data.map(item => `products/${item.slug}`)
    }
  }

有人有什么主意吗?

标签: apache2nuxt.jssitemappm2

解决方案


推荐阅读