2017-05-30 32 views
4

對於我的角的應用程序,這裏是app.routing.ts文件:如何修復使用Edgecast Azure CDN的Angular 2應用程序的路由?

const appRoutes: Routes = [ 
    { path: '', component: LoginComponent }, 
    { path: 'dashboard', component: DashboardComponent }, 
    { path: 'application', component: ApplicationComponent }, 
    { path: 'decision', component: DecisionComponent }, 
]; 

export const routing = RouterModule.forRoot(appRoutes); 

,所以我的本地計算機上,當我做納克服務,那麼我可以去在地址欄瀏覽器並輸入地址,如:

本地主機:4200 /儀表盤

本地主機:4200 /應用

和工作克不動產資產信託。

然後我做的:

ng build --base-href /deploy/ --prod 

,然後將文件從DIST文件夾複製我的本地計算機Azure的Blob存儲上。我必須有一個用於文件的blob容器,並且該容器被稱爲deploy。我最終是這樣的:

https://xxyz.blob.core.windows.net/deploy/favicon.ico 
https://xxyz.blob.core.windows.net/deploy/index.html 
https://xxyz.blob.core.windows.net/deploy/assets/Logo.svg 
https://xxyz.blob.core.windows.net/deploy/main.68dbes8ef20.bundle.js 
https://xxyz.blob.core.windows.net/deploy/styles.a2b9daa6d36.bundle.css 

等等,等等,我可以去:

https://xxyz.blob.core.windows.net/deploy/favicon.ico 

,看圖標

然後,在Verizon的Edgecast CDN,我可以去到:

https://xxyz.com/deploy/index.html開始我的應用程序和登錄。

但我不想去CDN上的https://xxyz.com/deploy/index.html登錄。

我想去

https://xxyz.com/login還登錄有

,我不能去這些地方的CDN之一:

https://xxyz.com/deploy/dashboard

https://xxyz.com/deploy/application

什麼我真的希望能夠從CDN做到這一點:

https://xxyz.com/login

https://xxyz.com/dashboard

https://xxyz.com/application

https://xxyz.com/應該重定向到登錄頁面

進出口使用Verizon的高級Edgecast CDN,因此Im能夠做URL重寫,但我寫的規則到目前爲止還沒有奏效。

我錯過Angular方面的任何東西嗎?有關Azure CDN或Edgecast的URL重寫規則的任何想法?

這是當前的方式我試圖爲edgecast/Azure的網址重寫: enter image description here

然後在這裏是在下拉菜單,上面的圖像中說,「總是」的選項:

IF選擇:

始終

AS號

CDN產地

客戶端IP地址

曲奇參數

顧客來源

邊緣的Cname

參照域

請求頭文字

請求報頭的Regex

請求方法

請求方案

URL路徑目錄

URL路徑擴展

URL路徑文件名

URL路徑文字

URL路徑正則表達式

URL路徑通配符

網址查詢文字

網址查詢正則表達式

網址查詢通配符

+0

您能否與我們分享您所寫的規則,以便我們能夠更好地提供幫助? –

+0

@ AaronChen-MSFT我已經將規則作爲圖像共享。謝謝! – user372225

+0

我轉而使用Azure App Service,而不是將Azure CDN放在Azure blob存儲上。在應用程序服務中,使用web.config文件很容易進行這種重寫。 – user372225

回答

0

您可以依次設置 ​​'部署' 的 「原產地路徑」 中刪除了「/在CDN網址中部署/'需要的路徑。

origin path azure

規則引擎可能需要長達90分鐘開始工作。確保在嘗試之前等待足夠長的時間。

添加源路徑後,重寫規則應該只是以下內容。 規則1: 如果始終如此: 功能:URL重寫;來源:'登錄';目的地:'index.html' (從下拉列表中選擇與您的端點名稱匹配的那個)。

+0

對於映射根路徑,您可以執行此操作。 特徵:URL重寫;來源:'/',目的地:'index.html' –

+0

如果你看看我附加的圖像作爲我的問題的一部分,你可以看到'IF'部分,然後在它旁邊的下拉菜單中顯示'Always' 。我在下拉列表中看到「總是」,但我沒有看到任何似乎能夠完成將「原始路徑」設置爲「部署」的建議。除了上面的「總是」之外,我還添加了其他選項。任何想法使用哪一個? – user372225

相關問題