httpRedirect - Перенаправление с http://www.*.com на http://*.com - PullRequest
1 голос
/ 08 мая 2011

Я использую IIS7, и мне нужно настроить перенаправление в моей веб-конфигурации - в httpRedirect ...

Мне нужно сделать перманентное перенаправление пары:

- http://www.*.com to http://*.com, and 
- http://*.com/test.html to http://*.com/test

1 Ответ

0 голосов
/ 08 мая 2011

Вот правило для IIS7, которое будет работать для вашего первого требования.RedirectType является постоянным (301).

<rewrite>
  <rules>
    <rule name="test" stopProcessing="true">
      <match url="^www\.(\w+\.com)$" />
      <action type="Redirect" url="http://{R:1}" redirectType="Permanent" />
    </rule>
  </rules>
</rewrite>

Ваше второе требование потребует следующих правил:

<rewrite>
  <rules>
    <rule name="RedirectUserFriendlyURL" stopProcessing="true">
      <match url="^domain\.com/test\.html$" />
        <conditions>
          <add input="{REQUEST_METHOD}" negate="true" pattern="^POST$" />
        </conditions>
        <action type="Redirect" url="domain.com/test" appendQueryString="false" redirectType="Permanent" />
    </rule>
    <rule name="RewriteUserFriendlyURL" stopProcessing="true">
      <match url="^domain\.com/test$" />
        <conditions>
          <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
          <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        </conditions>
        <action type="Rewrite" url="domain.com/test.html" />
    </rule>
  </rules>
</rewrite>

Эти правила переписывают http://domain.com/test.html в http://domain.com/testВозможно, вам придется изменить некоторые настройки в соответствии с вашими потребностями.

...