【问题标题】:AngularJS 404 Error when page is refreshed刷新页面时出现AngularJS 404错误
【发布时间】:2018-04-16 11:32:48
【问题描述】:

在开发 AngularJS 前端时,我一直在 python http.server 上运行它。我在我的 config.js 文件中运行 html5mode 以从 url 中删除 /#/。我遇到的问题是,每当我刷新页面时,我都会收到 404 错误,从我读过的内容来看,这是因为我的 Angular 页面实际上并不是网页。只是想知道这个问题是否有一个简单的解决方法,如果有人能指出我正确的方向来解决这个问题,那将不胜感激。我目前正在阅读有关托管我的前端并解决此问题的其他方法。提前谢谢你。

【问题讨论】:

标签: angularjs http-status-code-404 simplehttpserver


【解决方案1】:

原因可能是您的应用无法捕获您的基本网址,请尝试按照以下步骤操作。

在Router末尾添加html5Mode(true);

app.config(function($routeProvider,$locationProvider) {

    $routeProvider
    .when('/home', {
      templateUrl:'/html/home.html'
    });
    .otherwise({
      redirectTo: '/'
    });

    $locationProvider.html5Mode(true);
})

在html头部添加base标签

<html>
<head>
    <meta charset="utf-8">    
    <base href="/">
</head>

.

【讨论】:

  • 嗨 Shyam,感谢您的回复。我刚刚尝试了您推荐的方法,但仍然收到错误消息:错误响应错误代码:404 消息:找不到文件。错误代码说明:HTTPStatus.NOT_FOUND - 没有与给定的 URI 匹配。
  • 我已经编辑了评论,请确保您按照相同的步骤操作,如果仍然无效,请给我一个 jsfiddle ,我们会解决。
  • 谢谢Shyam,您在JSFiddle 中需要什么?我已经按照你的建议做了,但我仍然得到错误。我创建了一个 server.py 文件作为我的服务器,可以在这个文件中完成重新路由吗?这是我的代码: import http.server import socketserver PORT = 7000 Handler = http.server.SimpleHTTPRequestHandler httpd = socketserver.TCPServer(("", PORT), Handler) print("serving at port", PORT) httpd.serve_forever( )
【解决方案2】:
猜你喜欢
  • 2015-04-21
  • 1970-01-01
  • 2019-04-30
  • 2018-04-03
  • 2015-04-21
  • 1970-01-01
  • 1970-01-01
  • 2023-01-26
  • 1970-01-01
相关资源
最近更新 更多