Bagikan melalui


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

  1. 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).
  2. Di panel Koneksi , perluas nama server, perluas Situs, lalu navigasikan ke situs Web atau aplikasi yang ingin Anda konfigurasi halaman kesalahan kustomnya.

  3. Di panel Beranda , klik dua kali Halaman Kesalahan.
    Cuplikan layar panel Beranda dengan opsi Halaman Kesalahan disorot.

  4. Di panel Tindakan , klik Tambahkan...

  5. Dalam kotak dialog Tambahkan Halaman Kesalahan Kustom , di bawah Kode status, ketikkan jumlah kode status HTTP yang ingin Anda buat pesan kesalahan kustomnya.
    Cuplikan layar kotak dialog Tambahkan Halaman Kesalahan Kustom, memperlihatkan bidang Kode status.

  6. 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.
  7. 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.
Nilai Deskripsi
File Menyajikan konten statis, misalnya, file .html untuk kesalahan kustom.

Jika responseMode diatur ke File, nilai atribut jalur harus berupa jalur file.

Nilai numerik adalah 0.
ExecuteURL Menyajikan konten dinamis (misalnya, file .asp) yang ditentukan dalam atribut jalur untuk kesalahan kustom.

Jika responseMode diatur ke ExecuteURL, nilai jalur harus menjadi URL relatif server.

Nilai numerik adalah 1.
Redirect Mengalihkan browser klien ke URL yang ditentukan dalam atribut jalur yang berisi file kesalahan kustom.

Jika responseMode diatur ke Pengalihan, nilai jalur harus menjadi URL absolut.

Nilai numerik adalah 2.
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()