2015-07-20 4 views
0

Я использовал следующее правило перезаписи для IIS 8 для приложения asp.net. Но это дает мне ошибку 404, когда я пытаюсь получить доступ к www.mysiteurl.com/?_escaped_fragment_. Если я изменил actionType на Redirect, он будет перенаправлен успешно.IIS 8 Rewrite rule дает мне ошибку 404

<rule name="Prerender" stopProcessing="true"> 
      <match url="^(?!.*?(\.js|\.css|\.xml|\.less|\.png|\.jpg|\.jpeg|\.gif|\.woff|\.woff2|\.pdf|\.doc|\.txt|\.ico|\.rss|\.zip|\.mp3|\.rar|\.exe|\.wmv|\.doc|\.avi|\.ppt|\.mpg|\.mpeg|\.tif|\.wav|\.mov|\.psd|\.ai|\.xls|\.mp4|\.m4a|\.swf|\.dat|\.dmg|\.iso|\.flv|\.m4v|\.torrent))(.*)" ignoreCase="false" /> 
      <conditions logicalGrouping="MatchAny"> 
      <add input="{HTTP_USER_AGENT}" pattern="baiduspider|facebookexternalhit|twitterbot" /> 
      <add input="{QUERY_STRING}" pattern="_escaped_fragment_" ignoreCase="false" /> 
      </conditions> 
      <action type="Rewrite" url="http://service.prerender.io/http://{HTTP_HOST}/{R:0}" /> 
     </rule> 

Но если я установил действие URL-адреса на ресурс внутри одного и того же сервера, он будет работать. Поскольку я чувствую, что проблема возникает, потому что она перенаправляется в другой домен.
Существуют ли какие-либо конкретные настройки в IIS, чтобы разрешить переписывание доменов другого уровня? В чем может быть проблема?

ответ

0

После исследования я выяснил решение этого. Установка маршрутизации запроса приложений в IIS и включение прокси-сервера помогли решить мою проблему.

Надеюсь, это поможет кому-то :)