如何在angularjs应用程序中添加sitemap.xml

时间:2016-03-01 04:45:11

标签: javascript angularjs xml gruntjs sitemap

我使用generator-angular-fullstack创建了一个angularjs应用。除了一个以外,事情都很好。我正在尝试将sitemap.xml添加到此应用,以便搜索引擎抓取工具可以将其编入索引。使用提到的here方法,我在 client / 目录中创建了一个sitemap.xml。当我使用 grunt serve 启动我的应用程序时,它在开发环境中正常工作但在生产时,当我使用 grunt serve:dist启动应用程序时,它无法正常工作。这是我的robots.txt https://crowdvirality.com/robots.txt每当我尝试访问https://www.crowdvirality.com/sitemap-secure.xmlhttps://www.crowdvirality.com/sitemap.xml时,它都会将我重定向到https://www.crowdvirality.com/error页面。

我的app.js包含以下规则:

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

这个设置适用于本地开发环境,但在prod上失败。任何人都可以给我一些指示我做错的事吗?

由于

1 个答案:

答案 0 :(得分:0)

好吧,我认为这是一个常见的问题。

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

前几天我用pdf

做了这件事

您必须在路线提供商中创建一个带有文件扩展名的路线。

例如......

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

。在州名中至关重要,这让角知道你正在提供文件而不是路线

ATM,因为你没有这种状态,你会落后于你的状态