【问题标题】:IIS 8 Rewrite rule gives me 404 errorIIS 8 重写规则给了我 404 错误
【发布时间】:2015-07-20 06:33:08
【问题描述】:

我在 IIS 8 上为 asp.net 应用程序使用了以下重写规则。但是当我尝试访问 www.mysiteurl.com/?_escaped_fragment_ 时,它给了我 404 错误。如果我将 actionType 更改为 Redirect,它将成功重定向。

<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 上是否有任何特定设置来启用不同的域重写? 可能是什么问题?

【问题讨论】:

    标签: asp.net angularjs iis url-rewriting prerender


    【解决方案1】:

    经过研究,我找到了解决方案。将应用程序请求路由安装到 IIS 并启用代理解决了我的问题。

    希望这对某人有所帮助:)

    【讨论】:

      猜你喜欢
      • 2023-04-08
      • 1970-01-01
      • 2013-11-24
      • 2023-03-26
      • 1970-01-01
      • 2016-09-14
      • 2018-02-12
      • 1970-01-01
      相关资源
      最近更新 更多