簡體   English   中英

如何將單獨對根 URL 的調用重定向到子路徑

[英]how to redirect calls to root URL alone to a sub path

我將 .net core web api 作為網站托管在 iis 中,並將 angular app 作為應用程序添加到同一個網站。 在此處輸入圖片說明

我的應用程序 url 是 "http://example.com/angularapp" ,現在如果用戶嘗試使用 url "http://example.com/" 那么我希望他們被重定向到 "http://example.com/角度應用程序”。 注意:我的 api 網址是這樣的 - “http://example.com/api/xyz”,我不希望它受到影響。 我在本地環境中嘗試過的 URL 重寫規則在此處輸入圖片說明

注意:模式不會匹配 http 和主機名。 你最好先學習如何使用url rewrite模塊

我不確定您是否知道如何編輯 web.config,因此我將顯示添加正確規則的 GUI。

在此處輸入圖片說明

它會將http://example.com/重定向到http://example.com/angularapp 但是,如果 url 是http://example.com ,它不會重定向。 我不確定您是否要重定向http://example.com ,所以這只是一個提醒。

如果尚未安裝,請使用此處的下載將 URL 重寫模塊添加到 IIS。

安裝后,在 IIS 中選擇您的站點,您應該會看到“URL 重寫”作為選項之一: 在此處輸入圖片說明

打開它並單擊“添加規則...”並添加一個空白的入站規則。 您可以在此處配置重寫規則以在您的站點周圍自動路由請求。 在您的情況下,正則表達式模式^http://example.com/$會起作用,但是您可能希望查看改進/擴展您的重寫規則以解決諸如自動重定向到 HTTPS、強制尾隨斜杠之類的問題等等。

將操作設置為重寫並將重寫 URL 定義為您希望匹配請求指向的位置,在本例中為http://example.com/angularapp

請注意,上述模式只會匹配http://example.com/ ,因此您的 API 請求不會受到影響。

這個終於成功了在此處輸入圖片說明

正則表達式 $^ 表示“無”,URL 重寫不會驗證 http 和主機名,而是驗證 http 和主機名之后的任何內容。 所以,在這種情況下,我們只期望“Nothing”。 對於這種情況,我們正在重寫要附加到 URL 的應用程序名稱。

暫無
暫無

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

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