Url rewriting 通过appcmd重写URL

Url rewriting 通过appcmd重写URL,url-rewriting,appcmd,Url Rewriting,Appcmd,我想使用appcmd创建url重写url,以重定向来自的所有请求 http:// 到 https:// 我试着用谷歌搜索,但什么也没找到。你能给我提供一些基本的例子吗?让它与此一起工作: appcmd.exe set config -section:system.webServer/rewrite/rules /+"[name='http_redirect',enabled='True']" /commit:apphost appcmd.exe set config -section:syst

我想使用appcmd创建url重写url,以重定向来自的所有请求

http://

https://


我试着用谷歌搜索,但什么也没找到。你能给我提供一些基本的例子吗?

让它与此一起工作:

appcmd.exe set config -section:system.webServer/rewrite/rules /+"[name='http_redirect',enabled='True']" /commit:apphost

appcmd.exe set config -section:system.webServer/rewrite/rules.[name='http_redirect'] /match.url:"(.*)" /match.ignoreCase:true /commit:apphost

appcmd.exe set config -section:system.webServer/rewrite/rules.[name='http_redirect'].conditions/add /+"[input='{HTTPS}',pattern='off']" /commit:apphost

appcmd.exe set config -section:system.webServer/rewrite/rules.[name='http_redirect'].action /+"[type='Redirect',url='https://{HOST_NAME}/{R:1}',redirectType='Found']" /commit:apphost

这有助于构建appcmd脚本。

为了方便其他查看(如我)的人,您可以执行以下操作,在列表的开始、结束或特定位置插入新规则,因为默认情况下,仅将其添加到结尾可能会导致未命中该规则:

appcmd.exe set config -section:system.webServer/rewrite/rules /+"[@start,name='http_redirect',enabled='True']" /commit:apphost
appcmd.exe set config -section:system.webServer/rewrite/rules /+"[@end,name='http_redirect',enabled='True']" /commit:apphost
appcmd.exe set config -section:system.webServer/rewrite/rules /+"[@2,name='http_redirect',enabled='True']" /commit:apphost
资料来源:

appcmd.exe set config /?

在我的例子中,语法略有不同,因为我想在根(服务器)级别更改URL重写规则


我花了很长时间才弄明白全局规则,而不是规则之间的差异。

我不知道它是一个简单的as/?,它也适用于子部分。救了我的命
appcmd set config -section:system.webServer/rewrite/globalRules -[name='myRule'].action.url:http://myRewrite /commit:apphost