2016-12-27 29 views
0

在應用程序不加載有限定的路線:Angular2當直接瀏覽路由地址或刷新

const routes: Routes = [ 
    { path: '', component: MainComponent }, 
    { path: 'users', component: UsersComponent } 
] 

在index.html中的基本href也正確定義。

<base href="/"> 

在瀏覽應用程序時,路徑加載正確。 但是,當用戶直接通過瀏覽器輸入.../users時,應用程序未被加載並返回404.另外,當用戶刷新網頁(F5)時,應用程序也不會被加載。

角碼或服務器配置有問題嗎?

+0

你是什麼意思當瀏覽應用程序的路線加載正確。 ? –

+1

您可能正在尋找[像這樣](https://github.com/mgechev/angular-seed/wiki/Deploying-prod-build-to-Apache-2)。什麼是你的服務器配置? – adriancarriger

+0

謝謝你的例子! – user2276975

回答

2

這取決於您的服務器設置。 您需要可以設立一個重定向到index.html當404發生的,

或設置重寫,這樣在一定路徑之後的每個請求總是導致index.html

或者簡單地改變位置的策略散列而不是HTML5(儘管不是我推薦的幾個原​​因,正如Peter所說)。

+2

正確的答案 - 但不推薦散列策略 - 因爲它帶走了服務器端渲染的一些可能性(這對於搜索引擎等很重要) –

+0

@PeterSalomonsen編輯,同意! – Amit

相關問題