Global.asax dosyasında yapacağımız ufak bir değişiklik ile http gelen tüm istekleri zorunlu olarak https’e yönlendirebiliriz.
Bunun için aşağıdaki kod bloğunu Global.asax dosyamızın Application_BeginRequest eventine yazmamız yeterli olacaktır.
[csharp]
protected void Application_BeginRequest(Object sender, EventArgs e)
{
if (HttpContext.Current.Request.IsSecureConnection.Equals(false) && HttpContext.Current.Request.IsLocal.Equals(false))
{
Response.Redirect("https://" + Request.ServerVariables["HTTP_HOST"] + HttpContext.Current.Request.RawUrl);
}
}
[/csharp]
10 yorum
Sinan Bey Merhaba,
Öncelikle işlemi uyguladım düzgün bir şekilde yönlendirmeyi yaptı, teşekkürler.Ancak sayfa yüklendiğinde “only secure content is displayed” uyarısı çıkıyor.Ayrıca “https://….” url den önce oluşması gereken kilit simgesi oluşmadı.Sebebi ne olabilir yardımcı olabilir misiniz?
Merhaba,
SSL sertifikanız ile ilgili bir problem olabilir.
İkinci bir durum ise site içerisinden https olmayan düz http bağlantılardan içerik alıyorsunuzdur. (jquery, site içerisindeki resimler gibi..) Tüm css, image, ve javascript dosyalarınızın https:// üzerinden geldiğinden emin olun.
tüm css, javascript.. dosyaları http:// üzerinden geliyor ancak değişiklik yaparsam yapı bozulmaz mı?
sertifika kurulumu için de dışardan host kullandığım için iss e erişemiyorum bu nedenle ben yapamıyorum.Host şirketi tarafında mı sertifika işlemleri yapılmalı?Eğer zaten yapılmış ise ben bunu nasıl anlarım ?
Öncelikle tüm http:// gelenleri https:// olarak değiştirin, tek bir http:// dahi alırsanız hataya düşer. Eğer bu işlem sorununu çözmezse ssl için hosting firmasıyla irtibata geçersiniz. Ama dediğim gibi sorunun dosyaların http:// üzerinden gelmesinden kaynaklandığını düşünüyorum.
Peki deneyeceğim.. teşekkür ederim :)
kolay gelsin ben daha önceden sizin bu vermiş olduğnuz kodla https yönlendirmesi yapmıştım gayet elverişli çalışıyor ancak şimdi ssl iptal ettim google indexlerinde site hala https den yönlendirme yapıyor sertifika süresi bittiği içinde site güme düşüyor şimdi ben https li istek gelirse onu sade http olarak nasıl yönledirme yapabilirim teşekkürler
Merhaba siteme https:// olarak giremiyorum yani www. Koymadan girmiyor bunun sebebi ne olabilir site aspx ile yazilmiş
This Can be done using web.config why application begin request
Yes, you are right. You can do it with web.config. This is an alterantive solution.
Yararlı olmuş. Hocam http’den veya https’ten www den nonwww’ye nasıl yönlendirebiliriz?
Response.Redirect(“https://” + Request.ServerVariables[“HTTP_HOST”].Replace(“www.”,””) + HttpContext.Current.Request.RawUrl);
denedim ama olmadı. Bir öneriniz var mı?