2016-03-01 20 views
1

我已经使用generator-angular-fullstack创建了一个angularjs应用程序。除了一个以外,事情都很好。我试图添加sitemap.xml到这个应用程序,以便它可以被搜索引擎抓取工具编入索引。使用here提到的方法,我在我的客户端/目录中创建了一个sitemap.xml。当我使用grunt serve开始我的应用程序时,它正在开发环境中正常工作,但在Production上,当我使用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页面。如何在angularjs应用程序中添加sitemap.xml

我app.js包含以下规则:在本地开发环境

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

这一套了同样的工作,但失败的刺。任何人都可以给我一些指针,我做错了吗?

谢谢

回答

0

确定它的一个共同问题,我认为。

你基本上是试图服务一个文件,而不是一个路线。

我这样做有一天用PDF

你必须建立在你的路线提供文件扩展名的路径。

例如...

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

的。在该州的名字是非常重要的,这让角知道你是服务于文件,而不是一个路线

ATM,因为你没有这个状态,你在你的声明,否则回落

+0

一个快速疑问,如果是这样的情况下,它是如何正确地提供robots.txt?添加这个状态与sitemap.xml的实际位置无关,对吧? –

+0

我相信指向文档位置的网址,状态名称就像往常一样在浏览器网址中显示。不知道为什么robots.txt工作正常。 – danday74

+0

我尝试了你的方法,但仍然没有工作:( –

相关问题