技术频道导航
HTML/CSS
.NET技术
IIS技术
PHP技术
Js/JQuery
Photoshop
Fireworks
服务器技术
操作系统
网站运营

赞助商

分类目录

赞助商

最新文章

搜索

[解决] IIS8.5 URL伪静态重写无效,出现404错误

作者:admin    时间:2022-8-29 16:59:57    浏览:

我已经在我的 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>

我的网址如下:

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

我想重写为:

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

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

 

从这看来似乎没问题。

但是在浏览器中测试 URL 时,我觉得该规则永远不会被触发,事实上,我已经配置为跟踪失败的请求,如本教程,并且在日志文件夹中没有任何错误或文件。例如:

C:\inetpub\logs\FailedReqLogFiles

我收到了 404 错误,它的记录如下: 

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

分析及解答

有网友遇到同样的问题,在 IIS 中设置 URL 重写规则后出现 404 错误。最后通过单击以下项目打开反向代理,问题得以解决。


点击图片放大

不少网友对此解决方法给予肯定,说自己也是这样解决了问题。

笔者按:

经过笔者测试,安装 Application Request Routing (应用程序请求路由) (ARR),并且启动它,不用再在IIS做任何设置,问题就得以解决,当然,你要确保你的重写规则没有写错。参考文章:

标签: IIS  IIS8.5  
x
  • 站长推荐
/* 左侧显示文章内容目录 */