IIS URL重定向后出现404错误的解决方法
解决IIS URL重定向后404错误的方案
你的重定向规则逻辑错误是导致404的核心原因,当前配置的问题点及修复方案如下:
问题分析
规则中negate="true"表示匹配所有不等于faq/us-markets/can-i-trade-us-counters的请求,当用户访问服务器上不存在的资源时,会先触发404错误,再执行重定向操作,最终返回404页面。
修复步骤
修正重定向匹配逻辑
如果你需要让访问faq/us-markets/can-i-trade-us-counters的请求跳转到目标地址,需移除negate="true"(或设为negate="false"),确保仅匹配指定URL时触发重定向。修正后的规则:<rule name="Redirect1" patternSyntax="ExactMatch" stopProcessing="true"> <match url="faq/us-markets/can-i-trade-us-counters" negate="false" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false" /> <action type="Redirect" url="https://stackoverflow.com/questions/ask" /> </rule>针对404请求配置重定向(若需求如此)
如果你的目标是对所有404错误请求进行重定向,需调整规则为基于响应状态码的匹配:<rule name="Redirect404" stopProcessing="true"> <match url=".*" /> <conditions> <add input="{RESPONSE_STATUS}" pattern="404" /> </conditions> <action type="Redirect" url="你的目标重定向地址" /> </rule>其他验证项
- 确认IIS已安装并启用URL重写模块;
- 检查
match标签中的URL路径与实际请求路径一致(路径为站点根目录相对路径,不含域名/协议)。
内容的提问来源于stack exchange,提问作者ras
相关产品推荐
相关产品推荐

