2015-09-18 168 views
12

我有多個域指向一個託管位置。 我希望將其中一個域名建立爲我的主域名,因此我希望在用戶從輔助域名訪問我的網站時執行301重定向至此主域名。301使用web.config將一個域重定向到另一個域

例如:

www.example.com

這是我的主要領域。我希望與我的網站相關的所有其他域名都重定向到這裏。

如果用戶進來的:

www.test.com或 www.test.com/anypage 等

然後,我希望用戶被重定向到該實例版本頁。

我該如何使用我的應用程序的web.Config文件來做到這一點?我問的原因是通常我的虛擬主機提供商在他們的後臺有一個工具,允許我設置這個重定向,但是,我們的客戶選擇了不提供這種工具的不同主機提供商。

我已經嘗試使用下面的代碼來做到這一點重定向,但它似乎不工作:

<rule name="Canonical Host Name" stopProcessing="true"> 
    <match url="(.*)" /> 
    <conditions> 
    <add input="{HTTP_HOST}" negate="true" pattern="^test\.com$" /> 
    </conditions> 
    <action type="Redirect" url="http://www.example.com/{R:1}}" redirectType="Permanent" /> 
</rule> 

我的應用是一把umbraco供電的網站,所以在網上幾個system.webServer條目。配置文件。可能是因爲我在錯誤的地方輸入了這段代碼,但這裏的任何幫助都將不勝感激,因爲我只習慣在.htaccess文件中執行301重定向。

回答

15

這是不是真的那麼一把umbraco相關的,但我認爲你想做的事是這樣的:

<rewrite> 
    <rules> 
    <rule name="redirect" enabled="true"> 
     <match url="(.*)" /> 
     <conditions> 
      <add input="{HTTP_HOST}" negate="true" pattern="^www.example.com$" /> 
     </conditions> 
     <action type="Redirect" url="http://www.example.com/{R:0}" appendQueryString="true" redirectType="Permanent" /> 
    </rule> 
    </rules> 
</rewrite> 

匹配所有的URL,除非主機名部分正是www.example.com - 和那些重定向到www .example.com的/不管。

相關問題