2017-07-24 52 views
2

我正在使用Angularjs構建一個Web應用程序,但當我進入索引頁時,我得到的是http://localhost:3000/#!/而不是http://localhost:3000/http:// localhost:3000 /#!/爲什麼我會在我的本地主機鏈接中獲得「#!/」。

我想不通它爲什麼會發生。

有些幫助會很大。

+0

請參閱[AngularJS開發人員指南 - '$ location'服務配置](https://docs.angularjs.org/guide/$location#-location-service-configuration)。 – georgeawg

回答

5

hashBang#!通常通過url和角度路由之間的angularjs添加。您可以使用$ locationProvider和html5Mode設置爲true,像這樣在.config禁用它():

.config('$locationProvider', function($locationProvider){ 
    $locationProvider.html5Mode(true); 
}) 

使用HTML5模式需要URL重寫服務器端的,基本上你不得不重寫所有的鏈接入口點你的應用程序(例如index.html)。需要<base>標籤對於這種情況也很重要,因爲它允許AngularJS區分作爲應用程序庫的url部分和應用程序應該處理的路徑。有關更多信息,請參閱AngularJS Developer Guide - HTML5 Mode Server Side

+0

@georgeawg絕對。隨意編輯我的答案..我會批准它:-) –

+1

非常感謝。這非常有幫助。是的,我需要將添加到模板的頭部,以便它能夠正常工作。 –

+0

@SüleymanTekin請將答案標記爲正確,如果它對您有幫助:-) –

相關問題