2016-01-08 55 views
0

我有一個在IIS中設置的網站,綁定到2個不同的網址,需要不同的語言。我想要做的是,當用戶登陸myurl1.com時,我想重定向到myurl1.com/en-US,當用戶登陸myurl2.com時,我想重定向到myurl2.com/es-ES。Url用2個不同的URL綁定重寫

這裏是我的嘗試,但目前未工作:

<rewrite> 
      <rules> 
       <rule name="Redirect to en-US locale" stopProcessing="true"> 
        <match url="^myurl1.com$" /> 
        <action type="Redirect" url="http://myurl1.com/en-US" /> 
        <conditions> 
         <add input="{HTTP_HOST}" pattern="^myurl1.com$" /> 
        </conditions> 
       </rule> 
     <rule name="Redirect to es-ES locale" stopProcessing="true"> 
        <match url="^myurl2.com$" /> 
        <action type="Redirect" url="http://myurl2.com/es-ES" /> 
        <conditions> 
         <add input="{HTTP_HOST}" pattern="^myurl2.com$" /> 
        </conditions> 
       </rule> 
      </rules> 
     </rewrite> 

我不熟悉的URL重寫語法,所以任何幫助,將不勝感激!

+0

user517406,希望你已經解決了這個問題,請參考答案部分。 – codetoshare

回答

0

HTTP_HOST服務器變量不會返回的協議,如HTTP HTTPS

所以刪除的http://行動節點的URL屬性。這應該工作

試試這個,

<rewrite> 
     <rules> 
      <rule name="Redirect to en-US locale" stopProcessing="true"> 
       <match url="^myurl1.com$" /> 
       <action type="Redirect" url="myurl1.com/en-US" /> 
       <conditions> 
        <add input="{HTTP_HOST}" pattern="^myurl1.com$" /> 
       </conditions> 
      </rule> 
    <rule name="Redirect to es-ES locale" stopProcessing="true"> 
       <match url="^myurl2.com$" /> 
       <action type="Redirect" url="myurl2.com/es-ES" /> 
       <conditions> 
        <add input="{HTTP_HOST}" pattern="^myurl2.com$" /> 
       </conditions> 
      </rule> 
     </rules> 
    </rewrite> 

更多信息可以在http://www.iis.net/learn/extensions/url-rewrite-module/url-rewrite-module-configuration-reference