2017-06-13 31 views
0

我們的網站使用「子文件夾」用於指定的語言(例如www.domain.com/nl或www.domain.com/en)。默認語言是Dutch(nl)。目前訪問者都能夠通過指定的語言(例如www.domain.com/nl)或根域(例如www.domain.com)訪問網頁。重定向(web.config中)規則強制子目錄

因爲我們想重定向(強制)SEO目的的所有用戶訪問的根中的指定語言(NL)(例如www.domain.com/page/1到www.domain.com/nl/page/1) 。

先前的方法(使用web.config重寫規則)導致(無限)循環(例如www.domain.com/nl/nl/nl/nl/nl/nl/nl/etc。)。

我知道這個話題Rewrite Rule to enforce default lang code in URL介紹如何在.htaccess中做到這一點,但我沒有線索如何將其轉換爲web.config。

在此先感謝:-)

+0

所以你希望所有誰進入www.dowmain.com/page/1將被重定向用戶到www.domain.com/nl/page/1? – ISHIDA

+0

@ISHIDA正確。和www.domain.com/sub/sub/sub到www.domain.com/nl/sub/sub/sub。所以總是強制執行語言。 – Lycaon

回答

1

試試這個

<configuration> 
      <system.webServer> 
      <rewrite> 
<conditions> 
    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> <add input="{REQUEST_URI}" pattern="^/umbraco/" negate="true" /> <add input="{REQUEST_URI}" pattern="^/install/" negate="true" /> <add input="{REQUEST_URI}" pattern="^/nl/" negate="true" /> 
</conditions> 
      <rules> 
      <rule name="Language" stopProcessing="true"> 
      <match url="^/nl" negate="true" /> 
      <action type="Redirect" url="/nl/{R:0}" redirectType="Permanent" /> 
      </rule> 
      </rules> 
      </rewrite> 
      </system.webServer> 
     </configuration> 

以上規則將重定向所有www.domain.com/sub/sub到www.domain.com/nl/sub/sub

+0

謝謝。不幸的是,這是行不通的。之前嘗試過。 當來訪例如domain.com/page,它不重定向到domain.com/nl/page,而是要domain.com/nl。 – Lycaon

+0

我已經更新了我的正則表達式,可以請你現在嘗試在inifinite循環 – ISHIDA

+0

結果(例如/ NL/NL/NL/NL/NL) – Lycaon