Alibaba Cloud Dynamic Content Delivery Network (DCDN) memungkinkan Anda untuk menulis ulang URI asal. Fitur penulisan ulang URI berlaku pada titik kehadiran DCDN (POPs) tanpa memengaruhi layanan internal DCDN atau kunci cache. Topik ini menjelaskan cara mengonfigurasi penulisan ulang URL asal.
Skenario
Jika sumber daya di server asal dipindahkan, URI dari sumber daya tersebut juga berubah. Jika permintaan pengguna menggunakan URI asli, DCDN harus menulis ulang URL agar permintaan dapat dialihkan ke URL baru.
Sebagai contoh, file gambar dipindahkan dari direktori /download/ ke direktori /image/.
Cara kerjanya
POPs mencocokkan URI permintaan dengan URI sumber daya yang diminta di server asal berdasarkan aturan penulisan ulang URI. Kemudian, permintaan atau parameter permintaan tertentu dialihkan ke server asal.
Dalam aturan penulisan ulang, jika Anda mengatur parameter Flag ke None atau Break, hanya jalur sumber daya di URL yang ditulis ulang.

Jika Anda mengatur parameter Flag ke enhance break, jalur sumber daya dan string kueri ditulis ulang.

Catatan penggunaan
Anda dapat mengonfigurasi hingga 50 aturan origin URI rewrite untuk setiap nama domain.
Sistem menjalankan aturan penulisan ulang yang terdaftar di tab Penulisan Ulang URL Kembali ke Asal secara berurutan dari atas ke bawah. Perubahan pada urutan ini dapat menghasilkan hasil penulisan ulang yang berbeda.
Fitur origin URI rewrite berbeda dari fitur rewrite di halaman Cache. Fitur rewrite berlaku pada POPs DCDN, memengaruhi layanan internal DCDN, dan menulis ulang kunci cache. Fitur origin URI rewrite berfungsi pada POPs DCDN yang berkomunikasi dengan server asal dan tidak memengaruhi layanan internal DCDN atau menulis ulang kunci cache.
Jika Anda mengatur parameter Flag dari aturan URI rewrite rule ke enhance break, pengaturan penulisan ulang parameter mungkin bertentangan dengan pengaturan fitur penyaringan parameter. Untuk menyaring parameter, pilih di panel navigasi sisi kiri konsol DCDN. Jika Anda mengonfigurasi kedua fitur untuk nama domain yang sama, pastikan pengaturannya tidak bertentangan satu sama lain. Untuk informasi lebih lanjut, lihat Penyaringan Parameter.
Membuat aturan penulisan ulang URI asal
Masuk ke Konsol DCDN.
Di panel navigasi sisi kiri, klik Domain Names.
Di halaman Domain Names, temukan nama domain yang ingin Anda kelola dan klik Configure di kolom Actions.
Di pohon navigasi sisi kiri nama domain, klik Origin Fetch.
Klik tab URI Rewrite.
Di tab URI Rewrite, klik Add.
Di kotak dialog Penulisan Ulang URI, konfigurasikan URI Asli, URI Akhir, dan Flag. Tabel berikut menjelaskan parameter-parameter tersebut.

Parameter
Contoh
Deskripsi
Original URI
^/hello$
Masukkan URI. URI harus dimulai dengan garis miring (/) dan tidak boleh berisi http:// atau nama domain. URI harus berisi Ekspresi Reguler yang Kompatibel dengan Perl (PCRE).
Final URI
/hello/test
Masukkan URI. URI harus dimulai dengan garis miring (/) dan tidak boleh berisi http:// atau nama domain. PCRE didukung.
Flag
None
Jika Anda mengonfigurasi beberapa aturan penulisan ulang URI, DCDN mencocokkan permintaan dengan aturan secara berurutan dari atas ke bawah.
break
Jika Anda mengonfigurasi beberapa aturan penulisan ulang URI, dan aturan saat ini cocok, aturan lain dilewati.
Opsi ini hanya menulis ulang jalur sumber daya di URI. Parameter URL tetap tidak berubah. Anda dapat menggunakan fitur penulisan ulang parameter untuk menulis ulang parameter URL.
enhance_break
Jika Anda mengonfigurasi beberapa aturan penulisan ulang URI, dan aturan saat ini cocok, aturan lain dilewati.
Dibandingkan dengan Break, enhance break menulis ulang parameter URL. Namun, pengaturan penulisan ulang parameter mungkin bertentangan dengan pengaturan fitur yang dijelaskan dalam Menulis ulang parameter URL dalam permintaan kembali ke asal. Jika Anda ingin mengaktifkan kedua fitur tersebut, pastikan pengaturannya tidak bertentangan satu sama lain.
Klik OK untuk menerapkan aturan.
Untuk memodifikasi atau menghapus aturan penulisan ulang, temukan aturan di tab URI Rewrite dan klik Modify atau Delete di kolom Tindakan.
Contoh konfigurasi
Example 1: Apply a rule whose flag is set to None.
URI Asli
^/hello$
URI Akhir
/index.html
Flag
None
Hasil yang diharapkan
Permintaan asli:
http://aliyundoc.com/helloPermintaan akhir:
http://aliyundoc.com/index.htmlSistem terus mencocokkan permintaan dengan aturan penulisan ulang URI lain yang terdaftar di tab Penulisan Ulang URI.
Example 2: Apply a rule whose flag is set to Break.
URI Asli
^/hello.jpg$
URI Akhir
/image/hello.jpg
Flag
break
Deskripsi
Permintaan asli:
http://example.com/hello.jpgPermintaan akhir:
http://example.com/image/hello.jpgSistem berhenti mencocokkan permintaan dengan aturan penulisan ulang URI lain yang terdaftar di tab Penulisan Ulang URI.
Example 3: Apply a rule whose flag is set to enhance break.
URI Asli
^/hello.jpg?code=123$
URI Akhir
/image/hello.jpg?code=321
Flag
enhance break
Hasil yang diharapkan
Permintaan asli:
http://example.com/hello.jpg?code=123Permintaan akhir:
http://example.com/image/hello.jpg?code=321Sistem berhenti mencocokkan permintaan dengan aturan penulisan ulang URI lain yang terdaftar di tab Penulisan Ulang URI.
Example 4: Add a URI prefix to the root directory if the file name is a variable
Tambahkan jalur /image ke URI semua file di direktori root. Sebagai contoh, tulis ulang /xxx di URI menjadi /image/xxx. Dalam contoh ini, xxx adalah nama file, seperti /hello.jpg atau /hello.html.
URI Asli
^(.*)$
Catatan^(.*)$ cocok dengan karakter apa pun, dan sepasang tanda kurung () mewakili grup. Anda dapat menggunakan $1 di URI akhir untuk memanggil variabel dalam grup.
URI Akhir
/image$1
Catatan$1 adalah pola penggantian khusus pertama, yang mewakili konten yang cocok dengan ekspresi di pasangan tanda kurung () pertama dalam ekspresi reguler. $2 adalah pola penggantian khusus kedua, yang mewakili konten yang cocok dengan ekspresi di pasangan tanda kurung () kedua. $n mewakili pola penggantian khusus ke-n.
Flag
break
Hasil yang diharapkan
Permintaan asli:
http://example.com/hello.jpgPermintaan akhir:
http://example.com/image/hello.jpgPermintaan asli:
http://example.com/hello.htmlPermintaan akhir:
http://example.com/image/hello.html
Sistem berhenti mencocokkan permintaan dengan aturan penulisan ulang URI lain yang terdaftar di tab Penulisan Ulang URI.
Example 5: Add a URI prefix to a specific directory if the file name is a variable.
Tambahkan jalur /image ke URI semua file di direktori /live. Sebagai contoh, tulis ulang /live/xxx di URI menjadi /image/live/xxx. Dalam contoh ini, xxx adalah nama file, seperti /live/hello.jpg atau /live/hello.html.
URI Asli
^/live/(.*)$
URI Akhir
/image/live/$1
Flag
break
Hasil yang diharapkan
Permintaan asli:
http://example.com/live/hello.jpgPermintaan akhir:
http://example.com/image/live/hello.jpgPermintaan asli:
http://example.com/live/hello.htmlPermintaan akhir:
http://example.com/image/live/hello.html
Sistem berhenti mencocokkan permintaan dengan aturan penulisan ulang URI lain yang terdaftar di tab Penulisan Ulang URI.
Example 6: Apply only the rule whose flag is set to None when multiple rules are configured.
Buat dua aturan penulisan ulang URI, seperti yang ditunjukkan pada gambar berikut.

Hasil yang diharapkan:
Permintaan asli:
http://example.com/image_01.pngPermintaan akhir:
http://example.com/image/image_02.pngCatatanPermintaan cocok dengan aturan pertama dan ditulis ulang menjadi
http://example.com/image_02.png. Lalu, permintaan cocok dengan aturan kedua dan ditulis ulang menjadihttp://example.com/image/image_02.png.Example 7: Apply the rule whose flag is set to Break when multiple rules are configured.
Buat dua aturan penulisan ulang URI, seperti yang ditunjukkan pada gambar berikut.

Hasil yang diharapkan:
Permintaan asli:
http://example.com/image_01.pngPermintaan akhir:
http://example.com/image_02.pngCatatanPermintaan cocok dengan aturan pertama dan ditulis ulang menjadi
http://example.com/image_02.png. Aturan lain dilewati.