簡體   English   中英

IIS web.config重定向子文件夾到域

[英]IIS web.config redirect subfolder to domain

IIS url_rewrite模塊和web.config設置有一個奇怪的問題。 我認為匹配模式有問題,或者我做的事情完全錯誤。

我的設置是具有多語言支持的ASP.Net MVC應用程序。 首先,我啟用了三種語言,英語,德語和法語..因此,您可以使用語言參數www.domain.com/en/ www.domain.com/de/ www.domain.com/fr/訪問它們。現在我買了一個德語域名,並將頁面的德語部分設置為.de域名,所以現在我有了www.domain.com/en/ www.domain.de/de/ www.domain.com/fr/一切正常至今..

如果您將www.domain.com/de/寫入www.domain.de/de/,反之亦然www.domain.de/en/回到www,則我試圖找出如何添加安全301重定向的問題.domain.com / en / ...我之所以無法解決此問題,主要是因為SEO可以解決重復的內容問題。

我已經安裝了IIS 8.5,url_rewrite模塊,現在我在web.config中將此卡住了

<rule name="DE Redirect" stopProcessing="true">
    <match url="(.*)" ignoreCase="true" />
    <conditions logicalGrouping="MatchAny">
        <add input="{HTTP_HOST}" pattern="^www\.domain\.com\/de\/$" />
    </conditions>
    <action type="Redirect" url="https://www.domain.de/de/{R:0}" redirectType="Permanent" />
</rule>

如果用戶進入或進入www.domain.com/de/page1到www.domain.de/de/page1,並且僅在URL中有www.domain.com/de/的情況下,我想將其重定向如果他們輸入法語網站的英語,則不會重定向。

知道我在做什么錯,還是調試此類重定向的最佳方法是什么。.我嘗試了“失敗的請求跟蹤”,但沒有發現任何幫助。

有任何想法嗎? 干杯

由於答案不能包含domain.com,因此我將在所有地方使用example.com和example.de

您應該這樣使用重定向:

<rule name="DE Redirect" stopProcessing="true">
   <match url="^de/(.*)" ignoreCase="true" />
   <conditions>
       <add input="{HTTP_HOST}" pattern="^www\.example\.com$" />
   </conditions>
   <action type="Redirect" url="https://www.example.de/de/{R:1}" redirectType="Permanent" />
</rule>

另外,如果您要阻止在德語域https://www.example.de/fr上打開法語並將其重定向到https://www.example.com/fr則還應添加

<rule name="FR Redirect on DE domain" stopProcessing="true">
   <match url="^fr/(.*)" ignoreCase="true" />
   <conditions>
       <add input="{HTTP_HOST}" pattern="^www\.example\.de$" />
   </conditions>
   <action type="Redirect" url="https://www.example.com/fr/{R:1}" redirectType="Permanent" />
</rule>

暫無
暫無

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

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