【问题标题】:Codeigniter - AngularJS routing causes 404Codeigniter - AngularJS 路由导致 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...等,我有无限循环,知道吗?

标签: angularjs codeigniter


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2014-09-29
    • 1970-01-01
    • 2014-07-12
    • 1970-01-01
    • 1970-01-01
    • 2022-11-06
    • 2015-08-13
    • 2021-05-20
    • 1970-01-01
    相关资源
    最近更新 更多