2010-10-05 23 views
6

404.aspx adlı bir 404 hata sayfası oluşturdum, bu da el ile çalıştığımda harika çalışıyor. Ancak web.config ve IIS 6.0'daki "özel hata" ayarlandıktan sonra. Düzgün çalışmıyor. Örneğin, URL'yi yanlış şekilde yazıyorsam, çalışmaz ve aşağıdakine benzer bir mesaj görüntülenir.404 IIS 6.0 ve ASPX'deki Özel Hata çalışmıyor

XML Parsing Error: not well-formed 
Location: **http://domain/anything** (without an extension) 
Line Number 1, Column 2:<%@ page language="C#" masterpagefile="~/Public.master" autoeventwireup="true" inherits="_404, App_We 

Ve, böyle url yazarsanız: http: //domain/anything.ASPX (.aspx EKLEME) sonunda, özel hata yönlendirir 404.aspx doğru ve iyi çalışıyor.

Bunu yapmak için ne yapabilirim? aşağıdaki gibi

<customErrors 
     mode="RemoteOnly" 
     defaultRedirect="~/errors/GeneralError.aspx" 
/> 

"Açık"

<customErrors 
     mode="On" 
     defaultRedirect="~/errors/GeneralError.aspx" 
/> 

modları

tanımlanır kendiniz modu ayarlanan özel sayfasını görmek için::

+1

bu ilgili olabilir. com/questions/3704561/custom-error-pages-in-iis-6-0-kullanarak-aspx-sayfalar – Castrohenge

+0

Aynı yazar da. – mxmissile

cevap

7

IIS özel hata sayfası türünü Url yerine File olarak ayarlamışsınız gibi görünüyor.

File'a ayarlamak, sayfanın ASP tarafından işlenmesine neden olan hata sayfasına HTTP yönlendirmesi yapmak yerine IIS'nin hata sayfanızın içeriğini yanıt akışına (örn. Statik dosya olarak) oluşturmasına neden olur. AĞ.

6 URL mesajı türünü kullanarak eğer bir 'site içinde Mutlak URL' örneğin, girilecek gerektirir IIS: http: // stackoverflow

/404.aspx

+0

oldu. Ama yazdığım her şeyde, aşağıdaki iletiyle birlikte sarı bir belirtme çizgisi görüntülenir: Yanlış URL Biçimi. Lütfen sitenin içinde mutlak bir URL girin. – UXdesigner

+0

If .aspx uzantısı olmadan url'de bir şey yazın, bir hata iletisi gösterir ve bir sayfa adı yazıp .aspx uzantısını eklerseniz, güzel hata sayfasıyla birlikte gelir. tuhaf şey. başka ne yapacağını bilmiyorum. – UXdesigner

+0

@UXDesigner - güncellenmiş cevabımı görün. – Kev

2

ben şöyle Sözdiziminizin olduğunu varsayalım

  • Yerel kullanıcılar için hata ayrıntıları kimseye gösterilmez. Özel bir hata sayfası belirttiyseniz, her zaman kullanılır.
  • Kapalı - herkes hem yerel hem de uzak kullanıcılar için hata ayrıntılarını görecektir. Özel bir hata sayfası belirttiyseniz, KULLANILAMAZ.
  • RemoteOnly - yerel kullanıcılar, yığın izleme ve derleme ayrıntıları içeren ayrıntılı hata sayfalarını görürken, uzak kullanıcılar bir hata oluştuğunu bildiren kısa bir sayfa ile birlikte sunulur. Özel bir hata sayfası varsa, yalnızca uzak kullanıcılara gösterilecektir.
+0

Web.config dosyasında bu var UXdesigner

+0

teşekkürler, webconfig'imi hızla değiştirdim. Bunu ekledim: Ama hemen hemen aynı. :/ – UXdesigner

+0

@UXdesigner - Umarım mevcut customErrors ayarını düzenlediniz ve bir saniye eklemediniz. – Greg