.NET URL переписывает корневой URL

#iis-7 #url-rewriting

#iis-7 #url-переписывание

Вопрос:

В IIS7 у меня есть правило следования:

     <rule name="RewriteAll" stopProcessing="true">
      <match url="^([^/] )/?$" />
      <conditions>
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        <add input="{URL}" negate="true" pattern=".axd$" />
        <add input="{URL}" negate="true" pattern=".png$" />
        <add input="{URL}" negate="true" pattern=".gif$" />
        <add input="{URL}" negate="true" pattern=".jpg$" />
        <add input="{URL}" negate="true" pattern=".css$" />
        <add input="{URL}" negate="true" pattern=".js$" />
      </conditions>
      <action type="Rewrite" url="default.aspx?page={R:1}" />
    </rule>
  

Которые перехватывают URL-адреса, подобные http://mysite.com/contact

Я не могу разобраться с правилом, которое следует использовать для перехвата http://mysite.com / и отправьте, например, в home.aspx. Кто-нибудь может мне помочь с регулярным выражением соответствия

Ответ №1:

Я исправил это, добавив следующее правило:

  <rule name="Index Request" enabled="true" stopProcessing="true">
     <match url="^$" />
     <action type="Rewrite" url="index.aspx" logRewrittenUrl="true" />
 </rule>
  

Ответ №2:

Почему бы просто не настроить каноническое имя (CName) на вашем DNS-сервере для автоматического перенаправления http://domain.com в http://www.domain.com?

Смотрите объяснение CName в википедии

Комментарии:

1. Оставлять отрицательный отзыв даже без комментария с объяснением довольно плохо.

2. Согласен, что -ves без обратной связи оставляет желать лучшего. Аналогичное предложение здесь также было отклонено serverfault.com/a/88042