Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 15179|Yanıt: 0

[ASP.NET] Asp.Net 404 sayfa kurulumu

[Bağlantıyı kopyala]
Yayınlandı 24.12.2015 17:39:45 | | | |


404 hatası nedir?
HTTP 404 hatası, bağlantının işaret ettiği web sayfasının (yani orijinal web sayfasının URL'si) geçersiz olduğu anlamına gelir; bu genellikle olur ve kaçınılması zor olur; örneğin: web sayfası URL oluşturma kurallarında değişiklikler, web sayfası dosyasının yeniden adlandırılması veya taşınması, aktarılan bağlantının yanlış yazılması vb., bu da orijinal URL adresinin erişilmemesine neden olur; Bir web sunucusu benzer bir talep aldığında, tarayıcıya talep edilecek kaynağın olmadığını bildiren 404 durum kodu döner. Ancak, Apache veya IIS web sunucuları için varsayılan 404 hata sayfası çok ilkel, sıkıcı ve kullanıcı dostu değildir ve kullanıcılara daha fazla ipucu almak için gerekli bilgileri sağlamaz; bu da kesinlikle kullanıcı kaybına yol açacaktır.
404 sayfanın rolü
Arama motorları, bir web sayfasının durumunu belirlemek için HTTP durum kodları kullanır. Bir arama motoru yanlış bir bağlantı aldığında, web sitesi 404 durum kodu göndererek arama motoruna linki indekslemeyi bırakmasını bildirmelidir. 200 veya 302 durum kodu dönerse, arama motorları bağlantıyı indeksler ve aynı web içeriğine işaret eden çok sayıda farklı bağlantı ortaya çıkar. Sonuç olarak, arama motorları siteye çok daha az güveniyor.
Özel 404 sayfasının "404" durum kodu döndürdüğünü nasıl kontrol edilir
Özel 404 hata sayfasını kurduktan sonra, "404" durum kodunu doğru şekilde döndürüp vermediğini kontrol ettiğinizden emin olun. Kontrol yöntemi de oldukça basittir: web sayfasında olmayan bir web sitesinin URL'sini girin, HTTP başlığının dönüşünü kontrol edin ve "404" durum kodunu döndürdüğünden emin olun.
404 sayfa doğru olanı yapmak
1. Apache sunucusu 404 sayfasını nasıl kurarım
Kodu .htaccess dosyasına ekle: ErrorDocument 404/Error.html
Basit bir HTML404 sayfa isimlendirme Error.html
Error.html web sitenizin kök dizinine yerleştirin.
2. 404 hata sayfasını IIS/ASP.net altında ayarlayın
Öncelikle, uygulamanın kök dizininin ayarlarını değiştirin, "web.config" dosya düzenlemesini açın ve aşağıdaki içeriği ekleyin:

<configuration>
<system.web>
<customErrors mode="Açık" defaultRedirect="error.asp">
<error statusCode="404" redirect="notfound.asp" />
</customErrors>
</system.web>
</configuration>

Bu örnekte, error.asp varsayılan 404 sayfasıdır ve notfound.asp özelleştirilmiş 404 sayfasıdır.
Sonra, özel 404 sayfa "notfound.asp"yi ekleyin:

<%
Response.Status = "404 Bulunamadı"
%>

Bu, IIS'in "404" durum kodunu doğru şekilde döndürmesini sağlar
Dostça bir hatırlatma
1. 404 hatasını doğrudan web sitesinin ana sayfasına yönlendirmediğinizden emin olun; bu durum ana sayfanızın dahil edilmemesine neden olabilir;
2. /Error.html Lütfen ana alan adını önüne getirmeyin (yanlış yazım: yzznl.cn/error.html, doğru yazım :/error.html), aksi takdirde dönen durum kodu 302 veya 200 durum kodu olur.
asp.net siteden 404 hata sayfasını nasıl özelleştireceğinizi ararken, çoğu makale web.config adresine gidip system.web'i bulup aşağıdaki ayarları yapılandırmanızı önerir.

Kopyalama kodu Kod şöyledir:

<customErrors mode="On" error statusCode="404" yönlendirme="/404.htm" >
</customErrors>


Aslında, bunu yaptıktan sonra, 404 bulunmamış web sayfasının başlık bilgilerini değil, 302 geçici yönlendirmesinin başlık bilgilerini alırsınız. HTTP Durum Kodlarını kontrol etmek için Check Headers Tool aracını kullanabilirsiniz.

Peki asp.net web sitesi için özel 404 hata web sayfalarını doğru şekilde nasıl yapılandırabilirim?

Bir 404.aspx sayfası oluşturarak başlayın, ardından web.config dosyası altında customeErrors içinde aşağıdaki şekilde yapılandırın:
customErrors redirectMode="ResponseRewrite"
error statusCode="404" yönlendirme="~/404.aspx"/
/customErrors

RedirectMode'un iki özelliği vardır.
ResponseRedirect, bir kullanıcının o hata sayfasına yönlendirilmesini ifade eder ve orijinal URL, o hata sayfasının URL'sine dönüştürülür.
ResponseRewrite, kullanıcıyı tarayıcıda orijinal URL'yi değiştirmeden hata sayfasına yönlendirmeyi ifade eder.

Sonra 404.aspx.cs dosyasına Page_Load olay için aşağıdaki kodu ekleyin:
Kopyalama kodu Kod şöyledir:

protected void Page_Load(object sender, EventArgs e)
{
Response.Status = "404 Bulunamadı";
}





Önceki:aspx vs. mvc sayfa captcha
Önümüzdeki:c# SmtpClient e-posta kaynak kodunu gönderiyor
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com