我想使用 appcmd 创建 urlrewrite url 以重定向来自的所有请求
http://
至
https://
我试图谷歌但没有找到。你能给我一些基本的例子吗?
我想使用 appcmd 创建 urlrewrite 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 重写规则。
appcmd set config -section:system.webServer/rewrite/globalRules -[name='myRule'].action.url:http://myRewrite /commit:apphost
我花了很长时间才弄清楚 globalRules 而不是规则差异。