如何在angularjs应用程序中添加站点地图.xml

How to add sitemap.xml in an angularjs app

本文关键字:添加 站点 地图 xml 应用程序 angularjs      更新时间:2023-09-26

我创建了一个使用generator-angular-fullstack的angularjs应用程序。除了一个之外,事情进展顺利。我正在尝试将站点地图.xml添加到此应用程序中,以便搜索引擎爬虫可以将其编入索引。使用这里提到的方法,我在我的客户端/目录中创建了一个站点地图.xml。当我使用 grunt serve 启动我的应用程序时,它在开发环境中正常工作,但在生产环境中,当我使用 grunt serve:dist 启动应用程序时,它不起作用。这是我的机器人.txt https://crowdvirality.com/robots.txt 每当我尝试访问 https://www.crowdvirality.com/sitemap-secure.xml 或 https://www.crowdvirality.com/sitemap.xml 时,它都会将我重定向到 https://www.crowdvirality.com/error 页面。

我的应用.js包含以下规则:

  .config(function ($stateProvider, $urlRouterProvider, $locationProvider, $httpProvider, cfpLoadingBarProvider) {
    $urlRouterProvider
      .otherwise('/error');
  })

同样的设置适用于本地开发环境,但在生产环境中失败。谁能给我一些我做错的指示?

谢谢

好吧,

我认为这是一个常见问题。

您基本上是在尝试提供文件而不是路由。

前几天我正在用pdf做这件事

您必须在路由提供程序中创建具有文件扩展名的路由。

例如。。。

.state('sitemap.xml', {url: '/sitemap.xml'})

状态名称中的 . 至关重要,这让 Angular 知道您正在提供文件而不是路由

ATM 因为你没有这个状态,你正在回退到你的其他状态