IIS 8.5中的URL重写无效我改为404

时间:2015-03-28 19:12:48

标签: iis url-rewriting iis-8.5

您好我已经在我的IIS上配置了重写规则,但似乎它永远不会被解雇我已经工作了好几个小时而没有任何运气这是我在 web config 中的规则应用程序:

    <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>

我的网址如下:

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

我想改写为:

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

这是我在IIS中测试模式得到的结果:

tesing URL rewrite 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

任何想法?

2 个答案:

答案 0 :(得分:3)

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

enter image description here

答案 1 :(得分:0)

好像我遇到了与此question相同的问题。我更改了网址格式并删除了路径的斜线。

这是有效的规则:

<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>