2013-12-17 1 views
1

Я использую URL-адрес rewrite на своем сервере с iis7 Win server 2008 RC2 в течение нескольких лет, и он отлично работает. Теперь я пытаюсь переместить всю конфигурацию на новый (виртуальный) сервер (та же ОС), но он просто не работает. Целью перезаписи является исключение номеров портов в URL-адресах (":"). Вот мой web.config, расположенный во вложенной папке/834, чтобы пользователь мог ввести mysite/834 вместо mysite: 834.iis url rewrite работает на одном старом сервере, но не на новом

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <rewrite> 
      <rules> 
       <rule name="tp_redirect" stopProcessing="true"> 
        <match url=".*" /> 
        <conditions> 
         <add input="{URL}" pattern=".+(834)/(.*)" /> 
        </conditions> 
        <action type="Rewrite" url="http://teamplay.vps.mibosoft.se:{C:1}/{C:2}" logRewrittenUrl="true" /> 
       </rule> 
      </rules> 
     </rewrite> 
    </system.webServer> 
</configuration> 

Как уже упоминалось ранее, эта конфигурация отлично работает на моем старом сервере. Вот что я сделал на новом сервере:

  1. Установлен модуль перезаписи url (также попытался переустановить).
  2. Установленный ARR (мне это нужно?).

Интересно, что если я изменю тип действия = «Переписать» в тип действия = «Перенаправить», то он работает, но мне нужно переписать, а не перенаправить. Структура Wwwroot идентична на обоих серверах.

Это делает меня сумасшедшим. Есть идеи?

+0

Нет подсказок? Это был тихий форум ... – user3111711

ответ

1

Решенный! Я сравнил файлы% windir% \ System32 \ inetsrv \ config \ applicationHost.config между серверами и увидел, что раздел «переписать» ниже отсутствует, а также прокси-сервер включен = «true».

 <validation /> 
     <rewrite> 
      <globalRules> 
       <clear /> 
      </globalRules> 
      <allowedServerVariables> 
      </allowedServerVariables> 
      <outboundRules> 
      </outboundRules> 
      <rewriteMaps> 
      </rewriteMaps> 
     </rewrite> 
     <diskCache> 
      <compression> 
       <add mimeType="text/*" enabled="true" /> 
       <add mimeType="message/*" enabled="true" /> 
       <add mimeType="application/x-javascript" enabled="true" /> 
       <add mimeType="application/javascript" enabled="true" /> 
      </compression> 
     </diskCache> 
     <proxy enabled="true" /> 

Когда я добавил эти строки, он начал работать. Магия. Интересно, почему ...

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