簡體   English   中英

Angular 路由改變原請求的根 URL base

[英]Angular Routing Changing the Root of the original request URL base

我有一個使用路由的 angular 應用程序。

它的默認頁面 (index.html) 位於 /somefolder/index.html

我需要應用程序的 rest 來運行/someotherfolder/...所有腳本和資源

我可以讓它與 deploy-url 一起工作,修改 base ref 等。

所以導航到

http://someip/somefolder/

有效,但 angular 將 url 更改為

http://someip/someotherfolder/#/route 其中 route 是我的路線之一。

有沒有辦法保留原來的基地? IE

http://someip/somefolder/#/route

我嘗試過的一切都沒有成功。 另外是的,由於超出此問題的 scope 的限制,他們必須住在服務器的不同區域。 非常感謝任何想法或建議。

添加更多細節。 當導航到 https://IP/xyz/fva/index.html 時,我最終來到這里(除了 index.html 以外的所有內容。https://IP/html/FvaConfig/#../../xya/fva/階段
還有一個子路由,所以你可以有 https://IP/html/FvaConfig/#../../xya/fva/stage/(child:status) 這有效,直到你嘗試刷新(這是使用hash ) 然后它嘗試使用 https://IP/html/FavfConfig/ 這不是 index.html 的位置現在如果我不使用 hash
https://IP/xyz/fva/stage 是否讓我到達我想要的位置 Refresh 也能正常工作。 但是....當我點擊子路由 https://IP/xya/fva/stage/(child:status) 時,我到達了我想要的位置,但刷新不起作用。 我有 enableTracing 無法匹配任何路線。 'xya/fva/stage' 但我確實有那條路線 { path: 'xyz/fva/stage', pathMatch: 'full', redirectTo: 'stage', }, 我不知所措

回答中所述,您可以在應用程序模塊中提供APP_BASE_HREF以更改路由器使用的基礎 URL。

在你的情況下, URL 不是動態的,所以如果你有一個環境文件,你可以在那里設置基礎 URL 並像這樣提供它:

// Inside @NgModule in AppModule...
providers: [
  // Other providers...
  {
    provide: APP_BASE_HREF,
    useValue: environment.appBaseUrl
  },
]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM