【问题标题】:Angularjs link issue in html5Mode [duplicate]html5Mode中的Angularjs链接问题[重复]
【发布时间】:2016-01-18 06:36:45
【问题描述】:

我正在使用angularjs,我正在使用html5Mode

在使用 html5Mode 之前,链接可以在同一页面和新标签页中使用。链接如下:

http://localhost:81/vahidnajafi/#/about

但在 html5Mode 下,它只能在同一页面中工作,但是当我在新标签页中打开它时,它会转到 404 Not found 页面。

http://localhost:81/vahidnajafi/about

谢谢。

【问题讨论】:

  • 您使用的是什么类型的网络服务器?
  • html5Mode 用于单页应用程序,因此它希望应用程序是单页。它按预期工作并在documentation 中描述。
  • 基本上,确保您在 express 应用程序中引用了 Angular 应用程序的主目录:app.use(express.static(path.join(__dirname, 'app_client'))); app.use(function (req,res){ res.sendfile(path.join(__dirname, 'app_client', 'index.html')) });并确保你的 templateUrl 路由属性以 / 开头,因此它知道从根目录引用模板的位置,而不是当前目录。
  • @awimley 谢谢。我应该在哪里使用此代码?
  • templateUrl 修复,在所有它们的开头使用 /,应该在使用 ngRoute 或 routeProvider 的地方使用。其余的(以 app.use 开头)应该在您的 express 应用程序中。

标签: javascript angularjs html5-history


【解决方案1】:

您需要将请求重定向或重新路由到服务器上的根 url。

在 Angular 有机会对该路由执行某些操作之前,您的服务器会返回 404。

【讨论】:

    猜你喜欢
    • 2013-11-06
    • 1970-01-01
    • 2016-03-18
    • 1970-01-01
    • 2015-08-22
    • 2019-01-22
    • 1970-01-01
    • 2016-03-06
    相关资源
    最近更新 更多