刷新角度js中的页面会导致url找不到错误

时间:2016-10-07 05:33:01

标签: html angularjs

我创建了一个简单的AngularJS项目,其中index.html的路径为ProjectName/index.html,其他html文件位于projectName/templates/xxx.html和{{1} }} path与script.js相同。我的基本引用行是index.html。但是当我刷新页面时,我发现找不到页面错误。 当我重新加载主页和学生页面时出现错误。

Myindex.html代码

<base href="/Projectname/">

我的script.js

       <!DOCTYPE html>
       <html ng-app="myModule">
       <head>
         <meta charset="UTF-8">
       <title>Insert title here</title>
       <base href="/routing/">
        <script type="text/javascript"
src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script>
<script type="text/javascript"
src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular-route.min.js"></script>
<script type="text/javascript"
src="script.js"></script>
</head>
    <body>
    <table style="">
      <tr style="background-color: gray;">
        <th colspan="2" class="header"><h1>Header</h1></th>

    </tr>
    <tr>
        <td class="leftMenu" style="background-color: #cecece;"><a
            href="home">Home</a> <a href="courses">Courses</a> <a
            href="students">Students</a></td>
         <td class="mainContent" colspan="2"
             style="background-color: lightgray;"><ng-view></ng-view>                             </td> 
    </tr>
    <tr style="background-color: gray;">
        <td colspan="2" class="footer"><b>Website Footer</b></td>
</table>
</body>
</html>

Nd我的其他html文件,如home.html,students.html,可在路径Projectname / Templates / xxx.html中的T​​emplates文件夹中找到

2 个答案:

答案 0 :(得分:1)

你指定的基本href和url是不同的:Projectname与ProjectName大小写在某些系统上很重要

此外网址需要重写服务器端,因为刷新页面时会向服务器生成一个新的GET请求,导致404,因为服务器不知道您在Angular中定义的路由

答案 1 :(得分:0)

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.html [L]
</IfModule>