2013-04-16 2 views
4

У меня есть сайт IIS, и я пытаюсь использовать ReWrite 2.0 для перенаправления определенного субдомена в подпапку. В моем сайте IIS я его переплетены в двух различных областях:
iis перенаправить поддомен в подпапку на том же субдомене

  • one.example.com
  • two.example.com

Когда люди посещают one.example.com я хочу его не делать ничего. Когда люди посещают http://two.example.com, я хочу, чтобы они были перенаправлены на http://two.example.com/subfolder.

Благодарим за помощь.

ответ

0

Предполагаю, что вы используете II7 или выше?

IIS имеет простую функцию перенаправления HTTP, которая доступна для каждого сайта, указанного в IIS.

Убедитесь, что вы находитесь в режиме просмотра объектов. Нажмите на сайт, который вы хотите перенаправить (в вашем случае его http://two.example.com)

Вы должны это увидеть. Дважды щелкните по HTTP-переадресации IIS View

Вы должны это увидеть. Введите ваш URL переадресации здесь (в вашем случае его http://two.example.com/subfolder)

HTTP Redirect View

+0

Это перенаправит весь трафик на пункт назначения. Я хочу перенаправить только для определенного домена и перенаправляет его в подпапку в том же домене. – Tallday

0

This existing question должен решить ваш вопрос

<system.webServer> 
<rewrite> 
    <rules> 
     <rule name="Root Hit Redirect" stopProcessing="true"> 
      <match url="^$" /> 
      <action type="Redirect" url="/menu_1/MainScreen.aspx" /> 
     </rule> 
    </rules> 
</rewrite> 
</system.webServer> 
+0

Да, спасибо, я пробовал это, но это сделает это для обоих доменов. Я только хочу перенаправить two.example.com – Tallday

3

Вам нужно добавить условие совпадения для HTTP_HOST

<system.webServer> 
    <rewrite> 
     <rules> 
      <rule name="two.example.com Redirect" stopProcessing="false"> 
       <match url="^\/?$" /> 
       <conditions> 
        <add input="{HTTP_HOST}" pattern=".*two\.example\.com.*" /> 
       </conditions> 
       <action type="Redirect" redirectType="Found" url="http://two.example.com/subfolder/{R:0}" /> 
      </rule> 
     </rules> 
    </rewrite> 
</system.webServer> 

Вот достойная общая ссылка для модуля: http://www.iis.net/learn/extensions/url-rewrite-module/url-rewrite-module-configuration-reference

Очень поздний ответ, но, надеюсь, это помогает кому-то.

+0

Это вызывает цикл переадресации для меня. Ты знаешь почему? –

+0

@RobbieSmith Не могли бы вы попытаться сделать совпадение url = "^ \ /? $"? Я чувствую, что у меня, должно быть, был рабочий пример, когда я написал это, но, глядя на него сейчас, я думаю, что вы должны соответствовать только этому сценарию корню url, чтобы гарантировать, что правило не будет получено после перенаправление в подкаталог. Дайте мне знать, и я отредактирую ответ, если это будет правильно. Спасибо – frax

+0

Я закончил тем, что сделал глупый трюк. в моем корне я создал файл default.aspx с содержимым '<% Response.Redirect (" http: //.../subfolder ")%>' –

Смежные вопросы