對於我的角的應用程序,這裏是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登錄。
我想去
,我不能去這些地方的CDN之一:
https://xxyz.com/deploy/dashboard
https://xxyz.com/deploy/application
什麼我真的希望能夠從CDN做到這一點:
和
https://xxyz.com/應該重定向到登錄頁面
進出口使用Verizon的高級Edgecast CDN,因此Im能夠做URL重寫,但我寫的規則到目前爲止還沒有奏效。
我錯過Angular方面的任何東西嗎?有關Azure CDN或Edgecast的URL重寫規則的任何想法?
這是當前的方式我試圖爲edgecast/Azure的網址重寫:
然後在這裏是在下拉菜單,上面的圖像中說,「總是」的選項:
IF選擇:
始終
AS號
CDN產地
客戶端IP地址
曲奇參數
顧客來源
邊緣的Cname
參照域
請求頭文字
請求報頭的Regex
請求方法
請求方案
URL路徑目錄
URL路徑擴展
URL路徑文件名
URL路徑文字
URL路徑正則表達式
URL路徑通配符
網址查詢文字
網址查詢正則表達式
網址查詢通配符
您能否與我們分享您所寫的規則,以便我們能夠更好地提供幫助? –
@ AaronChen-MSFT我已經將規則作爲圖像共享。謝謝! – user372225
我轉而使用Azure App Service,而不是將Azure CDN放在Azure blob存儲上。在應用程序服務中,使用web.config文件很容易進行這種重寫。 – user372225