Cloudflare页面规则是否会处理AngularJS HTML5模式404问题

时间:2017-01-04 05:20:16

标签: angularjs cloudflare

我再次修补我的AngularJS 1网站,试图摆脱哈希爆炸。

我已在 app.js 中设置了$locationProvider.html5Mode(true);,并在页面标记中添加了<base href="/">。当然,当我点击一个链接时,它工作正常,但如果我刷新或尝试直接转到页面,它就会因404错误而崩溃。

我的网站托管在Github Pages上,我正在前面配置CloudFlare。我很好奇,如果我可以配置CloudFlare的一个免费页面规则来正确处理哈希爆炸。或者这只能用IIS / Express / Apache完成吗?

路由代码段

var app = angular.module('eat-sleep-code', ['ngRoute', 'ngSanitize']); 

/* Routing */
app.config(['$routeProvider', '$locationProvider',
    function($routeProvider, $locationProvider) {    
        $routeProvider.      
            /* Root */
            when('/', {templateUrl: 'views/home.html', controller: 'DefaultController'}).
            when('/contact', {templateUrl: 'views/contact.html', controller: 'DefaultController'}).
            when('/privacy', {templateUrl: 'views/privacy.html', controller: 'DefaultController'}).
            when('/resources', {templateUrl: 'views/resources.html', controller: 'DefaultController'}).
            when('/terms', {templateUrl: 'views/terms.html', controller: 'DefaultController'}).
            otherwise({
                redirectTo: '/404'
            });
            $locationProvider.html5Mode(true);
}]);  

1 个答案:

答案 0 :(得分:1)

我收到了来自Cloudflare支持的电子邮件,这是不可能的(至少截至今天,2017年1月5日)。我想我现在会被困在hashbang中。