2016-11-09 3 views
0

Как перенаправить (301) в IIS7? Я пытаюсь перенаправить ссылку на форму «domainA.com/link_A» на «domainB.com/link_B», используя правила перезаписи в web.config. Как это сделать для выбранных ссылок? Это правильно?IIS 7 redirect 301 домен A в домен B

<rule name="redirect" stopProcessing="true"> 
<match url=".*" /> 
<conditions> 
<add input="{HTTP_HOST}" pattern="^domainA.com/link_A$ /> 
</conditions> 
<action type="Redirect" url="http://www.domainB.com/link_B{R:0}" redirectType="Permanent" /> 
</rule> 

ответ

0

Вы должны переместить «LINK_A» часть к URL, поскольку HTTP_HOST только совпадает с именем домена. Поэтому ваше правило должно выглядеть примерно так:

<rule name="rewriting" stopProcessing="true"> 
    <match url="link_A" /> 
    <conditions> 
     <add input="{HTTP_HOST}" pattern="^domainA.com$" /> 
    </conditions> 
    <action type="Redirect" url="http://www.domainB.com/link_B{R:0}" redirectType="Permanent" /> 
</rule> 
+0

благодарит за него. Я хотел бы знать, что лучше всего переписать ~ 400 ссылок. Я должен использовать 400 раз этот код в web.config или это более оптимизированный способ сделать это? – RayJek

+0

Если между ссылками на DomainA и DomainB существует какой-то шаблон, вы можете использовать переменные правила в URL-адресе перенаправления. Я действительно сделал небольшую ошибку в своем ответе, который использует это. Вместо перенаправления на www.domainB.com/link_B он фактически перенаправляется на www.domainB.com/link_Blink_A, так как часть '{R: 0}' будет вставлять согласованный URL-адрес в URL-адрес переадресации. –

+0

Почему ответ был принят без согласия? –