在WordPress的Angular SPA中使用html5Mode - ngRoute返回404

时间:2016-08-23 06:11:01

标签: angularjs wordpress .htaccess

我的水疗中心实际上只是一个使用自定义模板的普通wordpress页面。

页面slug是/ singlepageapp /所以我的基础:是<base href="/singlepageapp/">

使用$ routeProvider我可以点击我的视图没问题,但是如果我尝试点击网址冷http://mysite/singlepageapp/singleview我得到404因为wordpress没有通过spa页面路由这些页面。

我是否需要一个特殊的htaccess重写规则,或者我如何在我的spa页面中获取漂亮的网址而没有404

我的

$routeProvider.
when('/', {
    templateUrl: '/wp-content/themes/mytheme/templates/map.html',
    controller: 'VPListCtrl'
}).
when('/:slug', {
    templateUrl: '/wp-content/themes/mytheme/templates/detail.html',
    controller: 'VPDetailCtrl'
}).
otherwise({
    redirectTo: '/'
});

$locationProvider.html5Mode(true);

1 个答案:

答案 0 :(得分:0)

我认为我有一个带有wordpress重写规则的工作解决方案

function custom_rewrite_to_spa() {
 $singlepageapp_page_id = 11730;
 add_rewrite_rule( '^singlepageapp\/(.*)\/?', "index.php?page_id={$singlepageapp_page_id}", 'top' );
}

add_action('init', 'custom_rewrite_to_spa');