Kesalahan Penambahan Kesalahan <HTTP>
Gambaran Umum
Elemen <error>
<httpErrors>
koleksi menambahkan pemetaan kesalahan unik ke koleksi kesalahan HTTP.
Kompatibilitas
Versi | Catatan |
---|---|
IIS 10.0 | Elemen <error> tidak dimodifikasi di IIS 10.0. |
IIS 8.5 | Elemen <error> tidak dimodifikasi di IIS 8.5. |
IIS 8.0 | Elemen <error> tidak dimodifikasi di IIS 8.0. |
IIS 7.5 | Elemen <error> tidak dimodifikasi dalam IIS 7.5. |
IIS 7.0 | Elemen <error> <httpErrors> koleksi diperkenalkan di IIS 7.0. |
IIS 6.0 | Koleksi menggantikan <httpErrors> bagian HttpErrors IIS 6.0 dari objek metabase IIsWebService . |
Siapkan
Elemen <error>
<httpErrors>
koleksi disertakan dalam penginstalan default IIS 7.
Bagaimana Caranya
Cara menambahkan halaman kesalahan kustom
Buka Manajer Layanan Informasi Internet (IIS):
Jika Anda menggunakan Windows Server 2012 atau Windows Server 2012 R2:
- Pada bilah tugas, klik Manajer Server, klik Alat, lalu klik Manajer Layanan Informasi Internet (IIS).
Jika Anda menggunakan Windows 8 atau Windows 8.1:
- Tahan tombol Windows, tekan huruf X, lalu klik Panel Kontrol.
- Klik Alat Administratif, lalu klik dua kali Manajer Layanan Informasi Internet (IIS).
Jika Anda menggunakan Windows Server 2008 atau Windows Server 2008 R2:
- Pada taskbar, klik Mulai, arahkan ke Alat Administratif, lalu klik Manajer Layanan Informasi Internet (IIS).
Jika Anda menggunakan Windows Vista atau Windows 7:
- Pada taskbar, klik Mulai, lalu klik Panel Kontrol.
- Klik dua kali Alat Administratif, lalu klik dua kali Manajer Layanan Informasi Internet (IIS).
Di panel Koneksi , perluas nama server, perluas Situs, lalu navigasikan ke situs Web atau aplikasi yang ingin Anda konfigurasi halaman kesalahan kustomnya.
Di panel Beranda , klik dua kali Halaman Kesalahan.
Di panel Tindakan , klik Tambahkan...
Dalam kotak dialog Tambahkan Halaman Kesalahan Kustom , di bawah Kode status, ketikkan jumlah kode status HTTP yang ingin Anda buat pesan kesalahan kustomnya.
Di bagian Tindakan Respons , lakukan salah satu hal berikut ini:
- Pilih Sisipkan konten dari file statis ke dalam respons kesalahan untuk menyajikan konten statis, misalnya, file .html, untuk kesalahan kustom.
- Pilih Jalankan URL di situs ini untuk menyajikan konten dinamis, misalnya, file .asp untuk kesalahan kustom.
- Pilih Tanggapi dengan pengalihan 302 untuk mengalihkan browser klien ke URL lain yang berisi file kesalahan kustom.
Dalam kotak teks Jalur file , ketik jalur halaman kesalahan kustom jika Anda memilih Sisipkan konten dari file statis ke dalam respons kesalahan atau URL halaman kesalahan kustom jika Anda menggunakan Jalankan URL di situs ini atau Tanggapi dengan pengalihan 302, lalu klik OK.
Catatan
Jika Anda memilih Jalankan URL di situs ini, jalur harus merupakan jalur relatif. Jika Anda memilih Tanggapi dengan pengalihan 302, URL harus merupakan URL absolut.
Catatan
Kesalahan HTTP berikut tidak dapat disesuaikan: 400, 403.9, 411, 414, 500, 500.11, 500.14, 500.15, 501, 503, dan 505.
Konfigurasi
Atribut
Atribut | Deskripsi | ||||||||
---|---|---|---|---|---|---|---|---|---|
path |
Atribut string yang diperlukan. Menentukan jalur file atau URL yang dilayani sebagai respons terhadap kesalahan HTTP yang ditentukan oleh atribut statusCode dan subStatusCode . Jika Anda memilih mode respons File, Anda menentukan jalur halaman kesalahan kustom. Jika Anda memilih mode respons ExecuteURL , jalur harus menjadi URL relatif server (misalnya, /404.htm). Jika Anda memilih mode respons Pengalihan , Anda harus memasukkan URL absolut (misalnya, www.contoso.com/404.htm ). |
||||||||
prefixLanguageFilePath |
Atribut string opsional. Menentukan segmen jalur awal saat menghasilkan jalur untuk kesalahan kustom. Segmen ini muncul sebelum bagian khusus bahasa dari jalur kesalahan kustom. Misalnya, di jalur C:\Inetpub\Custerr\en-us\404.htm, C:\Inetpub\Custerr adalah prefixLanguageFilePath. |
||||||||
responseMode |
Atribut enum opsional. Menentukan bagaimana konten kesalahan kustom dikembalikan. Atribut responseMode dapat menjadi salah satu nilai yang mungkin berikut. Default adalah File .
|
||||||||
statusCode |
Atribut uint yang diperlukan. Menentukan jumlah kode status HTTP yang ingin Anda buat pesan kesalahan kustomnya. Nilai yang dapat diterima berada dalam rentang dari 400 hingga 999. |
||||||||
subStatusCode |
Atribut int opsional. Menentukan jumlah kode substatus HTTP yang ingin Anda buat pesan kesalahan kustomnya. Nilai yang dapat diterima berada dalam rentang dari -1 hingga 999. Nilai defaultnya adalah -1 . |
Elemen Anak
Tidak ada.
Sampel Konfigurasi
Contoh konfigurasi berikut, ketika disertakan dalam file Web.config untuk situs Web atau aplikasi, menggunakan atribut errorMode untuk hanya mengizinkan pesan kesalahan terperinci muncul di komputer lokal. Ini juga menggunakan atribut defaultResponseMode untuk mengatur mode respons untuk situs atau aplikasi. Sampel kemudian menghapus pesan kesalahan yang diwariskan untuk kode status 500. Selanjutnya, ia mengatur atribut prefixLanguageFilePath ke direktori tempat IIS harus mencari halaman kesalahan kustom baru, dan mengatur atribut jalur ke 500.htm, file yang berisi pesan kesalahan kustom.
<configuration>
<system.webServer>
<httpErrors errorMode="DetailedLocalOnly" defaultResponseMode="File" >
<remove statusCode="500" />
<error statusCode="500"
prefixLanguageFilePath="C:\Contoso\Content\errors"
path="500.htm" />
</httpErrors>
</system.webServer>
</configuration>
Kode Sampel
Contoh berikut menambahkan file baru untuk semua kesalahan kode status 404 dengan substatus 5, yang dikembalikan IIS untuk kesalahan "Urutan URL Ditolak". Dalam contoh ini, jalur awalan diatur ke "%SystemDrive%\inetpub\custerr", dan nama file ditentukan sebagai "404.5.htm".
AppCmd.exe
appcmd.exe set config -section:system.webServer/httpErrors /+"[statusCode='404',subStatusCode='5',prefixLanguageFilePath='%SystemDrive%\inetpub\custerr',path='404.5.htm']" /commit:apphost
Catatan
Anda harus memastikan untuk mengatur parameter penerapan ke apphost
saat Anda menggunakan AppCmd.exe untuk mengonfigurasi pengaturan ini. Ini menerapkan pengaturan konfigurasi ke bagian lokasi yang sesuai dalam file ApplicationHost.config.
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample
{
private static void Main()
{
using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection httpErrorsSection = config.GetSection("system.webServer/httpErrors");
ConfigurationElementCollection httpErrorsCollection = httpErrorsSection.GetCollection();
ConfigurationElement errorElement = httpErrorsCollection.CreateElement("error");
errorElement["statusCode"] = 404;
errorElement["subStatusCode"] = 5;
errorElement["prefixLanguageFilePath"] = @"%SystemDrive%\inetpub\custerr";
errorElement["path"] = @"404.5.htm";
httpErrorsCollection.Add(errorElement);
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetApplicationHostConfiguration
Dim httpErrorsSection As ConfigurationSection = config.GetSection("system.webServer/httpErrors")
Dim httpErrorsCollection As ConfigurationElementCollection = httpErrorsSection.GetCollection
Dim errorElement As ConfigurationElement = httpErrorsCollection.CreateElement("error")
errorElement("statusCode") = 404
errorElement("subStatusCode") = 5
errorElement("prefixLanguageFilePath") = "%SystemDrive%\inetpub\custerr"
errorElement("path") = "404.5.htm"
httpErrorsCollection.Add(errorElement)
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var httpErrorsSection = adminManager.GetAdminSection("system.webServer/httpErrors", "MACHINE/WEBROOT/APPHOST");
var httpErrorsCollection = httpErrorsSection.Collection;
var errorElement = httpErrorsCollection.CreateNewElement("error");
errorElement.Properties.Item("statusCode").Value = 404;
errorElement.Properties.Item("subStatusCode").Value = 5;
errorElement.Properties.Item("prefixLanguageFilePath").Value = "%SystemDrive%\\inetpub\\custerr";
errorElement.Properties.Item("path").Value = "404.5.htm";
httpErrorsCollection.AddElement(errorElement);
adminManager.CommitChanges();
Vbscript
Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set httpErrorsSection = adminManager.GetAdminSection("system.webServer/httpErrors", "MACHINE/WEBROOT/APPHOST")
Set httpErrorsCollection = httpErrorsSection.Collection
Set errorElement = httpErrorsCollection.CreateNewElement("error")
errorElement.Properties.Item("statusCode").Value = 404
errorElement.Properties.Item("subStatusCode").Value = 5
errorElement.Properties.Item("prefixLanguageFilePath").Value = "%SystemDrive%\inetpub\custerr"
errorElement.Properties.Item("path").Value = "404.5.htm"
httpErrorsCollection.AddElement errorElement
adminManager.CommitChanges()