2015-10-18 68 views
0

我不明白這一點。在我本地我正在嘗試開發一個網站。在該網站鏈接正在應用程序中工作,但是當我嘗試F5或複製該鏈接並將其粘貼到瀏覽器時,我得到404頁未找到錯誤。我谷歌它,發現這與解析URL有關,但不知道如何做到這一點。這裏是我的代碼:

的Javascript

.config(function($stateProvider, $urlRouterProvider, $locationProvider) { 
$stateProvider 
    .state('baba', { 
     url: "/", 
     templateUrl: "baba.html" 
    }) 
    .state('icerik', { 
     url: "/icerik/:ad", 
     templateUrl: "icerik.html", 
     controller: "mmgCtrl", 
    }) 
    .state('oku', { 
     url: "/oku/:serix/:klasor", 
     templateUrl: "oku.html", 
     controller: "nbgCtrl" 
    }) 
$locationProvider.html5Mode(true); 
$urlRouterProvider.otherwise('/'); 

.controller('indexCtrl', function($scope, $location) { 
    $scope.yonlen = $location.path(); 
}) 

我有兩條路線。 /icerik/oku。所以我認爲我應該這樣做,如果聲明哪個網址去哪個範圍。

的index.html

<div ng-repeat="manga in mangas"> 

<a ng-href="{{yonlen}}></a> 

</div> 
+0

你試過了哪些網址? – Jay

+0

您是否使用任何類型的路由模式,如ngRoute或ui.router? –

+0

@Farzad YZ是的我正在使用'ui-router'並更新我的問題。 – Nasuh

回答

1

引擎蓋下,這使用pushState

當您使用JavaScript更改頁面的狀態時,應該將URL更改爲一個會導致服務器生成的頁面,該頁面的狀態爲

這將意味着if the JavaScript failed for any reason,內容would still load correctly而且如果有人跟着深層鏈接,就會直接(從而迅速)加載他們實際關注的內容。

例如:

  • 的訪問者到達的網頁上
  • 服務器提供的網頁(加上所有的角碼)
  • 他們點擊「博客」鏈接
  • 你負荷博客內容並將其放在頁面上(使用JS)
  • 您將URL更改爲/blog/(仍帶有JS),而不從服務器加載新頁面

但後來:

  • 訪客到達在博客上
  • 服務器下發的博客頁面(加上所有的角碼)

你正在做的變化URL但是還沒有完成把正確的內容放在那個URL位。這需要服務器端的工作。