Перезапись URL в IIS 8.5 не работает. Вместо этого я получаю 404.

Привет, я настроил правило перезаписи в своем IIS, но похоже, что оно никогда не запускается. Я работал над этим несколько часов, но безуспешно, это мое правило в веб-конфигурации приложения :

    <rewrite>
      <rules>
        <rule name="Rewrite frienly url to snapshot" stopProcessing="true">
          <match url="/(localhost:2934)\/trabajos\/([\w-]+)\/([\w-|\-]+)" />
          <action type="Rewrite" url="\/snapshots/{R:2}.html" logRewrittenUrl="true" />
        </rule>
      </rules>
    </rewrite>

мой URL-адрес следующий:

http://localhost:2934/trabajos/3ba2a9e4/some-cool-title '

и я хочу переписать как:

http://localhost:2934/snapshots/3ba2a9e4.html

вот результат, который я получил при тестировании шаблона в IIS:

тестируемый URL перезаписать iis

мне кажется, все в порядке

но при тестировании URL-адреса в браузере я чувствую, что правило никогда не срабатывает, на самом деле я настроил отслеживание неудавшегося запроса, например этот учебник, и я не получаю никаких ошибок или файлов в папке журналов. пример: C: \ inetpub \ logs \ FailedReqLogFiles

Вместо этого я получаю ошибку 404, и она регистрируется следующим образом:

2015-03-28 18:56:11 ::1 GET /trabajos/3ba2a9e4/some-cool-tile - 2934 - ::1 Mozilla/5.0+(Windows+NT+6.3;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/42.0.2311.60+Safari/537.36 - 404 0 2 4
2015-03-28 18:56:15 ::1 GET /trabajos/3ba2a9e4/some-cool-title - 2934 - ::1 Mozilla/5.0+(Windows+NT+6.3;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/42.0.2311.60+Safari/537.36 - 404 0 2 2

Любые идеи?


person pedrommuller    schedule 28.03.2015    source источник


Ответы (2)


У меня такая же проблема, я получил ошибку 404 после установки правил перезаписи URL в IIS. Наконец, я обнаружил, что мне нужно открыть обратный прокси, щелкнув следующий элемент.

введите описание изображения здесь

person Steven Chou    schedule 12.09.2017
comment
сработал для меня, потому что он побудил меня установить модули зависимостей, которые еще не были установлены. после их установки все заработало - person Tobias Würth; 28.03.2018
comment
Хотя я установил маршрутизацию запросов приложений (ARR), она не была включена, пока я не попробовал это, и в окне появилось окно с предложением включить ее ... - person Sunvic; 24.01.2020

Похоже, у меня была та же проблема, что и с этим вопросом, я изменил шаблон URL и убрана косая черта в начале пути.

это правило работает:

<rewrite>
      <rules>
        <rule name="Rewrite frienly url to snapshot" stopProcessing="true">
          <match url="trabajos\/([\w-]+)\/([\w-|\-]+)" />
          <action type="Rewrite" url="snapshots/{R:1}.html" logRewrittenUrl="true" />
        </rule>
      </rules>
    </rewrite>
person pedrommuller    schedule 28.03.2015