Перенаправление IP на CNAME с использованием перезаписи URL IIS - PullRequest
0 голосов
/ 02 февраля 2012

У меня есть веб-сайт, работающий по IP-адресу 1.2.3.4 с именем хоста www.host.com . На веб-сервере работает только один веб-сайт, и к нему могут обращаться http://1.2.3.4, http://www.host.com, http://www.cname.com. Я предпочитаю, чтобы пользователи обращались к нему по CNAME www.cname .com (который соответствует www.host.com ), поэтому я хочу перенаправить трафик с http://1.2.3.4 или http://www.host.com на http://www.cname.com. Можно ли добиться этого с помощью IIS URL Rewrite?

Я пробовал следующее правило, но постоянно получаю ошибку цикла перенаправления.

<rule name="RedirectToMitigatr" stopProcessing="true">
  <match url="^((?!www.cname.com).)*$" />
  <action type="Redirect" url="https://www.cname.com/{R:1}" />
</rule>

То, что я думаю правило должно делать, это то, что оно соответствует ничему, не содержащему www.cname.com до https://www.cname.com. Но, очевидно, это не так: 1032 *

Спасибо!

1 Ответ

1 голос
/ 02 февраля 2012

Вы не можете перенаправить трафик с IP-адреса на другой.Я делаю следующие предположения: 1. вы хотите, чтобы ваш сайт на www.cname.com 2. host.com должен перенаправить на www.cname.com

Вы получаете сообщение об ошибке, так как вы по существу перенаправляете трафикот www.cname.com до www.cname.com.Вам нужно установить соответствие URL на www.host.com

. Для этого сначала нужно указать www.cname.com в том же каталоге, что и ваш сайт host.com

.правильно сопоставили серверы имен, создайте новый виртуальный хост для cname.com и укажите его в том же каталоге, где вы хотите, чтобы ваш сайт

Посетите http://support.microsoft.com/kb/816576 для получения дополнительной информации

<rule name="RedirectToMitigatr" stopProcessing="true">

<match url="^((?!www.host.com).)*$" />
<action type="Redirect" url="https://www.cname.com/{R:1}" />
</rule>
...