三二互联专业提供速度最快最稳定的美国服务器、香港服务器。中美直连,亚洲优化![ 代理登陆 ] [ 付款方式 ] [ 找回密码 ][ 电子协议责任书 ]
硬件资源保障

采用高配品牌服务器

主流强悍CPU配置

确保服务高速稳定运行

中美直连线路

中美直连亚洲优化

采用中国CN2骨干网络

保证速度飞快稳定高效

如何在PowerShell中排除URL Rewrite规则?

美国、香港服务器

如何在PowerShell中排除URL Rewrite规则?

09-17   来源:

 先**管理员身份**打开 PowerShell,加载 IIS 模块

 
Import-Module WebAdministration
$siteName="Default Web Site" # 修改成你的站点名
 
## 场景 1:临时禁用某条重写规则(推荐,保留规则,不生效)
 
只是关闭这条规则,配置还在,可以随时启用
 
# 禁用
Set-WebConfigurationProperty -PSPath "IIS:\Sites\$siteName" `
-Filter "/system.webServer/rewrite/rules/rule[@name="HTTP转HTTPS"]" `
-Name "enabled" -Value "False"
 
# 启用恢复
Set-WebConfigurationProperty -PSPath "IIS:\Sites\$siteName" `
-Filter "/system.webServer/rewrite/rules/rule[@name="HTTP转HTTPS"]" `
-Name "enabled" -Value "True"
 
## 场景 2:彻底删除一条重写规则(不可直接恢复)
 
Remove-WebConfigurationProperty -PSPath "IIS:\Sites\$siteName" `
-Filter "/system.webServer/rewrite/rules/rule[@name="HTTP转HTTPS"]" -Name "."
 
## 场景 3:**在现有规则里增加排除路径**(最常用:不删除规则,让某些 URL 跳过重写)
 
> 例如:HTTP 强制 HTTPS,但排除 `/api/`、`/uploads/`、`/.well-known/`(SSL 验证目录)
> 原理:给规则新增`conditions`条件,**不匹配排除路径才执行重写**
 
### PowerShell 添加排除条件示例
 
Add-WebConfigurationProperty -PSPath "IIS:\Sites\$siteName" `
-Filter "/system.webServer/rewrite/rules/rule[@name="HTTP转HTTPS"]/conditions" -Name "." -Value @{
    input="{REQUEST_URI}"
    pattern="^/(api|uploads|.well-known)/"
    negate="true" # negate=true:不匹配这个pattern才继续执行规则
}
 
- `negate="true"`:**不匹配该路径才触发重写**,也就是匹配`/api/`就跳过这条规则
- pattern 正则:`^/(api|uploads|.well-known)/` 匹配以 /api、uploads、.well-known 开头的 URL
 
### 快速查看当前站点所有 rewrite 规则
 
Get-WebConfiguration -PSPath "IIS:\Sites\$siteName" -Filter "system.webServer/rewrite/rules/rule" | Select name,enabled
 
## 场景 4:前置跳过规则(推荐方案,放在规则列表最顶部)
 
增加一条优先级最高的规则,匹配排除路径直接停止后续所有规则,`action="None"`
 
Add-WebConfigurationProperty -PSPath "IIS:\Sites\$siteName" -Name "." -Filter "/system.webServer/rewrite/rules" -Value @{
    name="SkipRewrite_ExcludePath"
    stopProcessing="true"
    match=@{url="^(api|uploads|.well-known)/.*"}
    action=@{type="None"}
}
 
## 验证生效
 
修改完**回收应用程序池**
 
Restart-WebAppPool (Get-WebAppPoolState -Name (Get-WebSite $siteName).applicationPool)

三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快

上一篇:如何在PowerShell中启用URL Rewrite规则? 下一篇:如何在PowerShell中验证URL Rewrite模块是否安装成功?

美国GIA服务器三二互联版权所有 WWW.250.cc 2008-2015 All Rights Reserved
三二互联 - 专业的美国C3服务器、香港vps、抗DOOS流量清洗、云备份系统、网站加速系统、美国GIA服务器和香港云服务器产品提供商
三二互联24小时在线工单系统为您提供全面、专业、周到的技术支持与服务
咨询热线:400-679-9994(免长话费)