Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ngRoute-直接url不显示模板_Javascript_Html_Angularjs_Ngroute - Fatal编程技术网

Javascript ngRoute-直接url不显示模板

Javascript ngRoute-直接url不显示模板,javascript,html,angularjs,ngroute,Javascript,Html,Angularjs,Ngroute,我是新的角度,所以我很抱歉,如果这是真的很明显!我正在制作一个超级基本的应用程序,现在我想要的是当用户直接进入一个页面时,它应该总是显示布局和内容。我正在使用angular的ng路线 现在,如果我转到localhost:8080/它将显示布局(index.html)和内容(view/home.html)。如果单击“About”链接,它将转到localhost:8080/About并显示布局(index.html)和正确的内容(view/About.html)。现在,如果我在地址栏中键入local

我是新的角度,所以我很抱歉,如果这是真的很明显!我正在制作一个超级基本的应用程序,现在我想要的是当用户直接进入一个页面时,它应该总是显示布局和内容。我正在使用angular的
ng路线

现在,如果我转到localhost:8080/它将显示布局(index.html)和内容(view/home.html)。如果单击“About”链接,它将转到localhost:8080/About并显示布局(index.html)和正确的内容(view/About.html)。现在,如果我在地址栏中键入localhost:8080/about,点击回车键,我会从服务器的日志中得到一个404错误。我不确定我错过了什么。欢迎任何意见

app.js

  angular
  .module('TestProject', ['ngRoute']);
routes.js

angular.module('TestProject')
  .config(function($routeProvider, $locationProvider) {

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

      $locationProvider.html5Mode(true);

  });
index.html

<!DOCTYPE html>
<html lang="en" ng-app="TestProject">
  <head>
    <meta charset="utf-8">
    <title>Test!</title>

    <base href="/">
    <link rel="stylesheet" href="assets/styles/app.css">
  </head>
  <body>
    <header><h1>Logo</h1></header>
    <nav>
      <ul class="main">
        <li>
          <div class="navBorder">
            <a href="about">About</a>
          </div>
        </li>
        <li>
          <div class="navBorder">
            <a href="contact">Contact</a>
          </div>
        </li>
    </ul>
  </nav>

    <div ng-view></div>

    <script src="../bower_components/angular/angular.js"></script>
    <script src="../bower_components/angular-route/angular-route.js"></script>
    <script src="app.js"></script>
    <script src="routes.js"></script>
  </body>
</html>

如果使用AngularJS 1.3+,则需要包含
的概念。您可以在
标记中这样做

<head>
    <base href="/">
...

啊,我想出来了,是我的服务器出了问题。我没有为它设置
mod_rewrite
。目前,我关闭了
html5Mode()
,一切正常。

index.html来自何处?index.html位于主目录中,我将用我的文件所在的目录更新我的问题您使用的是什么后端技术?我已经在index.html文件中找到了这个。我将更新我的问题,以包括来源。
<head>
    <base href="/">
...
$locationProvider.html5Mode({
    enabled: true,
    requireBase: false
});