Codeigniter - AngularJS 路由导致 404

Posted

技术标签:

【中文标题】Codeigniter - AngularJS 路由导致 404【英文标题】:Codeigniter - AngularJS routing causes 404 【发布时间】:2015-04-07 02:31:24 【问题描述】:

我尝试将 Codeigniter 与 AngularJS 路由一起使用,它正在工作,但我需要没有哈希。 我使用此代码:

.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) 
    $locationProvider.html5Mode(true);
    $路由提供者。
        when('/',  templateUrl: 'assets/js/partials/blank.html' ).
        when('/:name',  templateUrl: 'assets/js/partials/blank.html', 控制器: PagesController )。
        否则(redirectTo: '/');
]);

但是当我刷新页面时,跳转到 404。

【问题讨论】:

为了在 HTML5 模式下工作,您需要设置您的网络服务器 (.htaccess) 以响应所有请求(非状态资源)的索引页面。 你能解释一下吗?我试过这个.htaccess,但总是导致404。code RewriteEngine On RewriteCond %REQUEST_FILENAME !-f RewriteCond %REQUEST_FILENAME !-d RewriteCond %REQUEST_URI !index RewriteRule (.* ) index.php [L] code 感谢您的努力。我终于想通了。 htaccess 很好,只是我不得不在 codeigniter 中更改 404 页面的路由。 routes.php: $route['default_controller'] = "project_name"; $route['404_override'] = 'project_name';谢谢! 不幸的是不是完美的。当我键入一个不存在的页面时,code($routeProvider.when('/:name',code...等,我有无限循环,知道吗? 【参考方案1】:

您始终可以将$route['404_override'] = '' 设置为您的默认控制器。这样就不会是404了。

【讨论】:

以上是关于Codeigniter - AngularJS 路由导致 404的主要内容,如果未能解决你的问题,请参考以下文章

AngularJS Codeigniter base_url 路径设置

AngularJS |如何将 Json 的数据发送到 Codeigniter 中的数据库

Codeigniter + Angular Js:如何接收 JSON 数据

angularjs 路由问题处理收集

如何使用angularjs在新窗口中打开链接

前端技术