2

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

http://

https://

我试图谷歌但没有找到。你能给我一些基本的例子吗?

4

3 回答 3

7

得到它的工作:

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脚本。

于 2013-10-02T07:48:05.243 回答
4

为了其他人的利益(就像我一样),您可以执行以下操作以在列表中的开头、结尾或特定位置插入新规则,因为默认情况下将其添加到末尾可能会导致规则不被击中:

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 /?
于 2015-01-15T14:36:08.073 回答
0

就我而言,语法略有不同,因为我想在根(服务器)级别更改 URL 重写规则。

appcmd set config -section:system.webServer/rewrite/globalRules -[name='myRule'].action.url:http://myRewrite /commit:apphost

我花了很长时间才弄清楚 globalRules 而不是规则差异。

于 2019-01-22T00:10:15.800 回答