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

采用高配品牌服务器

主流强悍CPU配置

确保服务高速稳定运行

中美直连线路

中美直连亚洲优化

采用中国CN2骨干网络

保证速度飞快稳定高效

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

美国、香港服务器

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

09-17   来源:

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

 
Import-Module WebAdministration
$siteName="Default Web Site" # 替换你的站点名称
 
## 场景 A:**临时排除(禁用)某一条指定规则,保留规则配置**
 
就是让这条规则不再执行,其他 rewrite 规则正常运行(最常用)
 
# 指定要排除/禁用的规则名
$ruleName = "HTTP强制跳转HTTPS"
 
Set-WebConfigurationProperty `
-PSPath "IIS:\Sites\$siteName" `
-Filter "/system.webServer/rewrite/rules/rule[@name="$ruleName"]" `
-Name "enabled" `
-Value "False"
 
# 回收应用池生效
$poolName = (Get-WebSite $siteName).applicationPool
Restart-WebAppPool $poolName
 
恢复启用这条规则:
 
Set-WebConfigurationProperty `
-PSPath "IIS:\Sites\$siteName" `
-Filter "/system.webServer/rewrite/rules/rule[@name="$ruleName"]" `
-Name "enabled" `
-Value "True"
Restart-WebAppPool $poolName
 
## 场景 B:**在某条重写规则内,排除部分 URL(访问这些 URL 时跳过这条规则)**
 
规则本身保持启用,但匹配指定路径就不执行该规则(比如 HTTP 转 HTTPS,但排除 /.well-known 验证目录)
 
$ruleName="HTTP强制跳转HTTPS"
Add-WebConfigurationProperty `
-PSPath "IIS:\Sites\$siteName" `
-Filter "/system.webServer/rewrite/rules/rule[@name="$ruleName"]/conditions" `
-Name "." `
-Value @{
    input="{REQUEST_URI}"
    pattern="^/\.well-known/"
    negate="true"
}
Restart-WebAppPool $poolName
 
参数说明:
 
- `negate="true"`:**不匹配该正则才执行重写**;匹配`/.well-known/`就跳过这条规则
- 多目录示例 pattern:`^/(api|uploads|\.well-known)/`
 
## 场景 C:**增加前置优先级规则:匹配指定 URL 直接跳过后续全部重写规则**
 
在规则列表最顶部新增一条,命中路径后停止所有剩下的 rewrite 规则
 
Add-WebConfigurationProperty -PSPath "IIS:\Sites\$siteName" -Name "." `
-Filter "/system.webServer/rewrite/rules" `
-Value @{
    name="SkipAllRewrite_ExcludeUrl"
    stopProcessing="true"
    match=@{url="^(api|uploads)/.*"}
    action=@{type="None"}
}
Restart-WebAppPool $poolName
 
## 查看当前所有规则状态(校验)
 
Get-WebConfiguration -PSPath "IIS:\Sites\$siteName" -Filter "system.webServer/rewrite/rules/rule" | Select name,enabled
 
## 场景 D:彻底删除指定规则(永久移除,谨慎)
 
$ruleName="HTTP强制跳转HTTPS"
Remove-WebConfigurationProperty `
-PSPath "IIS:\Sites\$siteName" `
-Filter "/system.webServer/rewrite/rules/rule[@name="$ruleName"]" `
-Name "."
Restart-WebAppPool $poolName

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

上一篇:没有了 下一篇:如何在PowerShell中启用URL Rewrite规则?

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