我找到并尝试了杰夫的规则here,但我无法让它完全正常工作:
我需要的是让http://a.b.com转到https://a.b.com(其中a不是www,但这种区别不应该真正影响规则,是吗?www只是另一个子域,对吗? )
Jeff有(。*)billing /(.*),我用(。*)替换,但那不起作用。
我尝试的结果会产生“重定向循环”错误。
这种改写对我来说是新的。
感谢您的所有帮助。
答案 0 :(得分:2)
您应该确保您的应用程序(发送到http://a.b.com/
直接发送到https://a.b.com/
),而不是使用重定向,否则,相同的请求将在重定向到HTTPS之前通过纯HTTP进行,打败了这一点。
(此this other question了解详情。)
答案 1 :(得分:1)
不完全是你要求的答案,但如果你有机会在ASP.net页面上使用它,你可以打开你的Global.ASPX文件并在“Application_BeginRequest”页面内放置:
Dim url As New System.UriBuilder(Context.Request.Url)
'Do our redirect if we need
If Context.Request.IsSecureConnection = False Then
url.Scheme = "https"
url.Port = -1
System.Web.HttpContext.Current.Response.Redirect(url.Uri.ToString())
End If