Перенаправить домашнюю страницу - PullRequest
2 голосов
/ 20 июля 2011

Я хочу перенаправить poo.example.com на poo.example.com/home.ashx, но мне не удается ввести следующий код:

<rewrite>
  <rules>
    <rule name="Redirect to HTTPS" stopProcessing="true">
      <match url="(.*)" />
      <conditions>
        <add input="{HTTPS}" pattern="^OFF$" />
      </conditions>
      <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" />
    </rule>
    <rule name="Redirect poo.example.com to poo.example.com/home.ashx" patternSyntax="ECMAScript" stopProcessing="true">
      <match url="(./)" />
      <action type="Redirect" url="https://{HTTP_HOST}/home.ashx" />
    </rule>
  </rules>
</rewrite>

Я на IIS 7.5.

ПРИМЕЧАНИЕ

Я устал использовать документ по умолчанию, но он не работал.Мое приложение - приложение asp.net mvc.Это может быть связано с этим, но это не проблема здесь.Мне нужно реализовать это с помощью функции перезаписи URL IIS.

Ответы [ 2 ]

4 голосов
/ 20 июля 2011

Вы можете просто добавить home.ashx в качестве документа по умолчанию в IIS (убедитесь, что он отображается вверху списка), тогда вам не нужно будет переписывать URL-адреса.

2 голосов
/ 21 июля 2011

Это будет перезаписано (внутреннее перенаправление, когда URL останется неизменным в браузере):

<rule name="home.ashx" stopProcessing="true">
    <match url="^$" />
    <action type="Rewrite" url="/home.ashx" />
</rule>

Это перенаправит (301 постоянное перенаправление):

<rule name="home.ashx" stopProcessing="true">
    <match url="^$" />
    <action type="Redirect" url="/home.ashx" />
</rule>

Поскольку доменные имена являютсяв исходном и целевом URL (poo.example.com) нет необходимости указывать его в правиле - IIS автоматически добавит текущий домен.

...