2016-12-25 41 views
1

我正在嘗試爲其他網站的文件夾內的網站設置AngularJS路由。但每次點擊鏈接時,URL都會在頁面名稱前面顯示字符#!/。因此,例如,如果主頁的鏈接是#/,那麼當點擊URL時,將重定向到#!/#%2F並編碼正斜槓。下面是代碼:AngularJS路由在子文件夾中的網站 - URL顯示#!/之前網站頁面

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml" data-ng-app="app"> 
<head> 
    <title>Appening - Photo Sharing App</title> 
    <meta charset="utf-8"/> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"/> 
    <meta name="viewport" content="width=device-width, initial-scale=1"/> 
    <link rel="icon" type="image/png" href="/Appening/Images/favicon.png"/> 
    <link rel="apple-touch-icon" type="image/png" href="/Appening/Images/applefav.png"/> 
    <link rel="stylesheet" type="text/css" href="/Appening/Styles/bootstrap.min.css"/> 
    <link rel="stylesheet" type="text/css" href="/Appening/Styles/styles.css"/> 
    <base href="/Appening"/> 
</head> 
<body> 
    <div data-ng-controller="collapseMenuCtrl"> 
     <div class="navbar navbar-default" role="navigation"> 
      <div class="container"> 
       <div class="navbar-header"> 
        <button type="button" class="navbar-toggle" data-ng-click="isNavCollapsed = !isNavCollapsed"> 
         <span class="sr-only">Toggle navigation</span> 
         <span class="icon-bar"></span> 
         <span class="icon-bar"></span> 
         <span class="icon-bar"></span> 
        </button> 
       </div> 
       <div class="collapse navbar-collapse" uib-collapse="isNavCollapsed"> 


    <ul class="nav navbar-nav"> 
        <li class="active"><a href="#/">Home</a></li> 
        <li><a href="#About">About</a></li> 
        <li><a href="#Contact">Contact</a></li> 
       </ul> 
      </div> 
     </div> 
    </div> 
</div> 
<div data-ng-view></div> 
<script src="/Appening/Scripts/angular.min.js"></script> 
<script src="/Appening/Scripts/angular-route.min.js"></script> 
<script src="/Appening/Scripts/angular-animate.min.js"></script> 
<script src="/Appening/Scripts/ui-bootstrap-tpls-2.3.1.min.js"></script> 
<script src="/Appening/Scripts/script.js"></script> 

這裏是的script.js文件:

var app = angular.module("app", ["ngRoute", "ngAnimate", "ui.bootstrap"]); 

app.config(function ($routeProvider) { 
    $routeProvider 
    .when("/", { 
     templateUrl: "main.html" 
    }) 
    .when("/About", { 
     templateUrl: "about.html" 
    }) 
    .when("/Contact", { 
     templateUrl: "contact.html" 
    }); 
}); 

我設置的頭向包含子文件夾的底線,但仍然沒有好。這是我第一次爲子目錄設置Angular路由,我錯過了什麼?如何刪除字符併成功路由到這些網頁而不重定向URL?

任何幫助將不勝感激。

+0

href的應該更像'href =「#/關於」'並閱讀有關'hashPrefix'文檔 – charlietfl

+0

嗨,不,他們不應該有一個正斜槓後的散列,但謝謝你。還有其他建議嗎? – AnderSco01

+0

不同意......但它是你的應用程序。就路由器路徑而言,它是'#'後的所有內容 – charlietfl

回答

0

配置$locationProvider和設置html5Modetrue

下面是一個代碼snippet-

app.config(function ($routeProvider, $locationProvider) { 
$routeProvider 
.when("/", { 
    templateUrl: "main.html" 
}) 
.when("/About", { 
    templateUrl: "about.html" 
}) 
.when("/Contact", { 
    templateUrl: "contact.html" 
}); 

$locationProvider.html5Mode(true); 

});

相關問題