2016-04-08 24 views
1

我正在建立我的投資組合作爲前端開發,它仍在開發中。爲了測試它,我使用FTP將文件上傳到我的justhost域,這是成功的。現在,說我的網站是www.johndoe.com(好吧,我的實際網站是'hassanefall.com',使這更容易理解:))。404錯誤輸入'www.johndoe.com/something'

(我正在使用angularjs的路線)我想要去特定的路線/頁面:www.hassanefall.com/about。當我通過點擊鏈接進行導航時,關於頁面的工作原理。

但是,當我在url中輸入確切的url路徑時,有一個404錯誤頁面。

我有'/ work','/ contact'等,只要我不直接輸入網址'www.hassanefall.com/contact',就會出現404頁面。就好像每個頁面/路由的文件不存在一樣。幫助?

這是代碼。

注意:我使用基'/'和$ relocationProvider從網址中刪除了散列。如果有這個答案,我們將不勝感激。

var app = angular.module('mySite', ['ngRoute']); 
app.config(function($routeProvider, $locationProvider){ 

    $routeProvider 
    .when('/', { 
     controller: 'HomeController', 
     templateUrl: 'views/home.html' 
    }) 
    .when('/projects', { 
     controller: 'HomeController', 
     templateUrl: 'views/projects.html' 
    }) 
    .when('/service', { 
     controller: 'HomeController', 
     templateUrl: 'views/service.html' 
    }) 
    .when('/about', { 
     controller: 'HomeController', 
     templateUrl: 'views/about.html' 
    }) 
    .when('/contact', { 
     controller: 'ContactController', 
     templateUrl: 'views/contact.html' 
    }) 
    .when('/portfolio/:id', { 
     controller: 'ItemController', 
     templateUrl: 'views/item.html' 
    }) 
    .otherwise({redirectTo: '/'}); 

    $locationProvider.html5Mode(true); 
}); 

如果您需要更多代碼示例,請讓我知道。 :)

回答

1

您的服務器應該支持HTML5模式。這裏發生的事情是服務器正在尋找你的客戶端路由(例如'聯繫'),並且沒有找到它。這就是爲什麼你有404沒有找到錯誤。

另一種解決方案是回到散列模式。

+0

謝謝。我會看看它,如果它是服務器,那麼我會回到哈希模式。有沒有像pushstate這樣的選擇?我對這一切都很陌生。 :) –

+0

你可以使用pushState,但是你將失去深度鏈接等功能,我會避免這種情況。 P.S:如果我的答案是幫助,請將其標記爲答案/補充信貸(: –