如何使用PowerShell配置IIS根URL重定向到子目录(Docker场景)
IIS根路径自动跳转PowerShell配置方案
你现有脚本不生效的核心原因为参数配置错误:
exactDestination设为true时,所有请求都会直接重定向到填写的目标字面量路径,且未配置childOnly参数时,默认会将站点下所有子目录的请求也纳入重定向规则,会触发/WebSampleTest路径的循环跳转- 相对路径格式的目标地址在IIS站点多层级配置场景下容易出现解析异常,建议改为以/开头的绝对路径
修正后的配置脚本
Set-WebConfiguration system.webServer/httpRedirect "IIS:\sites\Default Web Site" -Value @{ enabled = "true" destination = "/WebSampleTest" exactDestination = "false" childOnly = "true" httpResponseStatus = "Permanent" }
Docker容器场景额外注意事项
- 微软官方基础IIS镜像默认未安装HTTP重定向功能,需要先在Dockerfile中执行安装命令,再执行上述重定向配置:
# Dockerfile中预装HTTP重定向功能的命令 Install-WindowsFeature Web-Http-Redirect
- 配置完成后可执行
iisreset命令让配置立即生效,Docker构建时可将该命令加入部署脚本末尾。
内容的提问来源于stack exchange,提问作者bantal
相关产品推荐
相关产品推荐

