URL 在 IIS 8.5 中重写无效,我得到的是 404

URL rewrite in IIS 8.5 is not working I'm getting 404 instead

您好,我已经在我的 IIS 上配置了一个重写规则,但它似乎从未被触发我已经为此工作了几个小时,但没有任何运气,这是我在 web 配置中的规则 的应用程序:

    <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 时,我觉得规则永远不会被触发,事实上,我已经配置为跟踪失败的请求,例如 this tutorial 但我没有得到日志文件夹中的任何错误或文件。 例如: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

有什么想法吗?

我好像遇到了同样的问题 question 我更改了 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>

我有同样的问题,在 IIS 中设置 URL 重写规则后出现 404 错误。 最后我发现我需要通过点击以下项目来打开反向代理。