Bagikan melalui


Menggunakan Modul Penulisan Ulang URL

oleh Ruslan Yakushev

Tentang modul Penulisan Ulang URL

Modul Penulisan Ulang URL Microsoft 2.0 untuk IIS 7 ke atas memungkinkan administrator IIS membuat aturan yang disesuaikan yang kuat untuk memetakan URL permintaan ke URL ramah yang lebih mudah diingat dan lebih mudah ditemukan oleh mesin pencari. Anda dapat menggunakan modul Penulisan Ulang URL untuk melakukan tugas manipulasi URL, beberapa di antaranya meliputi:

  • Tentukan aturan yang kuat untuk mengubah URL kompleks menjadi alamat Web yang sederhana dan konsisten.
  • Ganti URL aplikasi Web dengan mudah untuk menghasilkan hasil ramah pengguna dan mesin pencari.
  • Tulis ulang URL berdasarkan header HTTP dan variabel server IIS.
  • Lakukan pengalihan, kirim respons kustom, atau hentikan permintaan HTTP berdasarkan logika yang dinyatakan dalam aturan penulisan ulang.
  • Mengontrol akses ke konten situs Web berdasarkan segmen URL atau meminta metadata.

Modul Penulisan Ulang URL tersedia sebagai unduhan yang dapat Anda instal di server IIS Anda sendiri, dan di platform cloud Azure Web Sites Microsoft.

Fitur PENULISAN Ulang URL 2.0

Modul Penulisan Ulang URL Microsoft 2.0 menyertakan fitur utama berikut:

  • Mesin penulisan ulang URL berbasis aturan. Aturan penulisan ulang menentukan logika yang digunakan untuk menganalisis URL permintaan dan memetakannya untuk menyaring ulang URL saat URL permintaan cocok dengan aturan yang ditentukan. Server web dan administrator situs dapat menggunakan seperangkat aturan penulisan ulang untuk menentukan logika penulisan ulang URL.
  • Pencocokan pola ekspresi reguler. Aturan penulisan ulang dapat menggunakan sintaks ekspresi reguler untuk pencocokan pola seperti yang didefinisikan dalam ECMA-262.
  • Pencocokan pola kartubebas. Aturan penulisan ulang dapat menggunakan sintaks kartubebas untuk pencocokan pola.
  • Aturan penulisan ulang global dan terdistribusi. Penulisan Ulang URL menggunakan aturan global untuk menentukan logika penulisan ulang URL di seluruh server. Aturan ini didefinisikan dalam file applicationHost.config, dan aturan supercede dikonfigurasi pada tingkat yang lebih rendah dalam hierarki konfigurasi. Modul ini juga menggunakan aturan terdistribusi untuk menentukan logika penulisan ulang URL khusus untuk cakupan konfigurasi tertentu. Jenis aturan ini dapat ditentukan pada tingkat konfigurasi apa pun dengan menggunakan file Web.config.
  • Akses ke variabel server dan header HTTP. Variabel server dan header HTTP menyediakan informasi tambahan tentang permintaan HTTP saat ini. Informasi ini dapat digunakan untuk mengonfigurasi aturan penulisan ulang atau untuk menyusun URL output.
  • Berbagai tindakan aturan. Alih-alih menulis ulang URL, aturan dapat melakukan tindakan lain, seperti mengeluarkan pengalihan HTTP, membatalkan permintaan, atau mengirim kode status kustom ke klien HTTP.
  • Dukungan untuk mode kernel IIS dan penembolokan output mode pengguna. Penembolokan output IIS memberikan peningkatan performa yang signifikan untuk aplikasi Web. Modul Penulisan Ulang URL sepenuhnya kompatibel dengan kedua jenis penembolokan output. Ini berarti bahwa dimungkinkan untuk menyimpan respons dengan aman untuk URL yang ditulis ulang dan dengan demikian meningkatkan performa aplikasi Web yang mengandalkan penulisan ulang URL.
  • Fungsi manipulasi string. Fungsi manipulasi string bawaan dapat digunakan untuk mengonversi URL menjadi huruf kecil dan untuk melakukan pengodean dan dekode URL.
  • Menulis ulang peta. Peta penulisan ulang adalah kumpulan pasangan nama-nilai sewenang-wenang. Anda dapat menggunakan peta penulisan ulang dalam aturan penulisan ulang untuk menghasilkan URL pengganti. Peta penulisan ulang sangat berguna ketika Anda memiliki sekumpulan besar aturan penulisan ulang, yang semuanya menggunakan string statis (yaitu tidak ada pencocokan pola yang digunakan). Dalam kasus tersebut, alih-alih menentukan sekumpulan besar aturan penulisan ulang sederhana, Anda dapat menempatkan semua pemetaan antara ke dalam peta penulisan ulang menggunakan URL input sebagai kunci, dan URL pengganti sebagai nilai. Anda kemudian dapat memiliki satu aturan penulisan ulang yang mereferensikan peta penulisan ulang untuk mencari URL pengganti berdasarkan URL input.
  • Dukungan Pelacakan Permintaan Gagal. Pelacakan Permintaan Gagal IIS dapat digunakan untuk memecahkan masalah kesalahan yang terkait dengan penulisan ulang URL.
  • Templat aturan. Templat aturan adalah ekstensi untuk antarmuka pengguna modul Penulisan Ulang URL yang menyederhanakan pembuatan aturan penulisan ulang untuk tugas tertentu. Modul ini mencakup 3 templat aturan, dan juga mendukung plugging dalam sejumlah templat kustom.
  • Antarmuka Pengguna (UI) untuk menguji ekspresi reguler dan pola kartubebas. Antarmuka pengguna untuk menguji pola aturan disediakan dengan modul. Dengan menggunakan UI, Anda dapat dengan cepat memeriksa hasil ekspresi reguler atau pola kartubebas dalam aturan penulisan ulang. Anda juga dapat menggunakan UI untuk memecahkan masalah dan men-debug masalah yang terkait dengan pencocokan pola.
  • UI untuk mengelola aturan penulisan ulang dan menulis ulang peta. Menulis ulang aturan dan menulis ulang peta dapat ditambahkan, dihapus, dan diedit dengan menggunakan Modul Penulisan Ulang URL dari Manajer IIS.
  • UI untuk mengimpor aturan mod_rewrite. Modul Penulisan Ulang URL menyertakan UI untuk mengonversi aturan penulisan ulang dari format mod_rewrite menjadi format IIS.

Tempat mendapatkan modul Penulisan Ulang URL

Untuk informasi selengkapnya dan untuk mengunduh modul, lihat halaman beranda Rewrite ekstensi URL.

Meningkatkan dari rilis Go Live

Jika Anda sudah menginstal modul penulisan ulang URL rilis Go Live, paket penginstalan akan meningkatkannya ke PENULISAN Ulang URL versi 2.0. Semua aturan penulisan ulang dalam file ApplicationHost.config dan Web.config Anda akan dipertahankan.

pembaruan ASP.NET

Paket penginstal modul Penulisan Ulang URL menyertakan pembaruan ASP.NET yang memperbaiki ASP.NET bug khusus untuk modul Penulisan Ulang URL. Secara khusus, pembaruan berisi perbaikan untuk bug berikut:

  1. ~ operator di ASP.NET Kontrol server web diselesaikan dengan tidak benar saat menggunakan Penulisan Ulang URL.
  2. ASP.NET properti SiteMap.CurrentNode mengembalikan null ketika peta situs berisi URL virtual.

Pembaruan hanya diterapkan jika komputer tempat modul Penulisan Ulang URL diinstal memiliki .NET Framework versi 3.5 SP1 atau yang lebih tinggi. Jika Anda menginstal versi .NET Framework yang diperlukan setelah menginstal modul Penulisan Ulang URL, Anda dapat menerapkan pembaruan ASP.NET dengan menjalankan penginstal modul Penulisan Ulang URL lalu memilih opsi Perbaikan dalam dialog penginstal.

Untuk detail selengkapnya tentang masalah ini dan ASP.NET lainnya yang terkait dengan penulisan ulang URL, lihat Penulisan Ulang URL untuk Formulir Web ASP.NET.

Menggunakan modul

Artikel ini mencakup fungsionalitas Modul Penulisan Ulang URL dan menjelaskan cara menggunakannya untuk menerapkan skenario penulisan ulang URL umum.

Mempelajari dasar-dasarnya

Referensi dan panduan

Panduan video

Perubahan sejak rilis Go Live

Penambahan, perubahan, dan perbaikan bug penting berikut telah dilakukan pada modul penulisan ulang URL sejak rilis Go Live:

  1. Menambahkan fungsi manipulasi string UrlEncode dan UrlDecode.
  2. Menyediakan akses ke URL asli mentah melalui variabel server UNENCODED_URL. Variabel server ini sekarang berisi URL yang dikodekan mentah persis seperti yang diminta oleh browser Web.
  3. Menambahkan UI untuk mengonfigurasi aturan penulisan ulang untuk Perutean Permintaan Aplikasi (ARR).
  4. Menambahkan dukungan untuk peningkatan di tempat dari rilis Go Live modul penulisan ulang URL.
  5. Menambahkan fungsionalitas untuk membersihkan cache internal untuk menghindari penggunaan memori yang berlebihan saat penembolokan aturan penulisan ulang.
  6. Memperbaiki bug yang terkait dengan penulisan ulang URL yang berisi karakter non-ASCII.
  7. Memperbaiki bug dalam memproses ekspresi reguler yang menyebabkan rentang karakter dievaluasi secara tidak benar untuk pola yang tidak peka huruf besar/kecil.
  8. Menyertakan pembaruan untuk modul IIS FastCGI ke dalam paket alat penginstal.
  9. Menyertakan pembaruan untuk System.Web.dll ke dalam paket alat penginstal.
  10. Menyertakan pembaruan untuk fungsi IIS SetUri ke dalam paket alat penginstal.

Masalah Umum

  1. mod_rewrite aturan yang menggunakan variabel server REQUEST_URI mungkin tidak berfungsi dengan benar saat diimpor dengan menggunakan URL Menulis Ulang fitur Aturan Impor. Untuk memperbaiki penggunaan aturan yang diimpor, Anda dapat menggunakan editor teks apa pun untuk membuka file Web.config yang berisi aturan tersebut. Temukan bagian <rewrite> , lalu di dalam bagian itu ganti semua instans string "{SCRIPT_NAME}" dengan string "{URL}".
  2. Autentikasi hash tidak dapat digunakan dengan modul Penulisan Ulang URL.
  3. autentikasi formulir ASP.NET menggunakan URL yang ditulis ulang untuk pengalihan. Misalnya, jika URL yang diminta adalah "/article.htm" dan modul Penulisan Ulang URL menulis ulang URL ke "/article.aspx", yang dilindungi oleh autentikasi Formulir, maka ASP.NET akan dialihkan ke "/login.aspx? ReturnUrl=%2Farticle.aspx".
  4. Mode deteksi otomatis dalam autentikasi formulir ASP.NET menggunakan URL yang ditulis ulang untuk pengalihan. Misalnya, jika URL yang diminta adalah "/article.htm" dan modul Penulisan Ulang URL menulis ulang URL ke "/article.aspx", yang dilindungi oleh autentikasi Formulir, maka ASP.NET akan dialihkan ke "/article.aspx? AspxAutoDetectCookieSupport=1".
  5. Mode UseUri dalam autentikasi formulir ASP.NET menggunakan URL yang ditulis ulang untuk pengalihan. Misalnya, jika URL yang diminta adalah "/article.htm" dan modul Penulisan Ulang URL menulis ulang URL ke "/article.aspx", yang dilindungi oleh autentikasi Formulir, maka ASP.NET akan dialihkan ke "/(S(vy2ebt45imfkmjjwboow3l55))/article.aspx".
  6. ASP.NET menulis ulang ke URL asli saat menggunakan autentikasi berbasis URI atau status sesi tanpa cookie. Misalnya, ketika permintaan dibuat ke "/(S(vy2ebt45imfkmjjwboow3l55))/article.htm" dan modul penulisan ulang URL menulis ulang "/article.htm" ke "/article.aspx", maka ASP.NET akan menulis ulang URL kembali ke "/article.htm", yang dapat mengakibatkan kesalahan "404 - File Tidak Ditemukan".
  7. Modul DefaultDocument IIS dapat dialihkan ke URL yang ditulis ulang saat modul Penulisan Ulang URL ditulis ulang ke folder. Misalnya, jika URL pengganti dalam aturan penulisan ulang adalah "/folder1/folder2" dan folder ini ada di sistem file dan memiliki dokumen Default yang dikonfigurasi, maka modul DefaultDocument akan mengalihkan klien Web ke "/folder1/folder2/", sehingga mengekspos URL yang ditulis ulang. Untuk mencegah hal ini terjadi, gunakan "/" di akhir URL pengganti saat menulis ulang ke folder, misalnya, "/folder1/folder2/"