您好我已经在我的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中测试模式得到的结果:
对我来说似乎没问题
但是在浏览器中测试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
任何想法?
答案 0 :(得分:3)
答案 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>