UrlRewrite via appcmd

♀尐吖头ヾ 提交于 2020-01-03 05:28:08

问题


I want to create urlrewrite url using appcmd for redirecting all requests from

http://

to

https://

I tried to google but nothing found. Could you provide me some basic example?


回答1:


Got it working with this:

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

This link can help on building appcmd scripts.




回答2:


For the benefit of anyone else looking (as I was) you can do the following to insert your new rule at the start, end or a particular position in the list, as just adding it to the end by default may result in the rule not being hit:

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

Source:

appcmd.exe set config /?



回答3:


In my case the syntax is slightly different since I wanted to alter a URL Rewrite rule at the root (server) level.

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

It took me a long time to figure out the globalRules instead of rules difference.



来源:https://stackoverflow.com/questions/19091661/urlrewrite-via-appcmd

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!