ApsaraVideo VOD memungkinkan Anda menulis ulang URL permintaan back-to-origin tanpa memengaruhi jalur internal CDN atau kunci cache. Titik kehadiran (POP) hanya menggunakan URL yang telah ditulis ulang saat mengirim permintaan back-to-origin ke origin.
Cara kerja
Aturan Origin Path Rewrite memungkinkan Anda memodifikasi jalur permintaan agar sesuai dengan lokasi resource aktual di server origin Anda. Hal ini memastikan POP dapat mengambil resource secara akurat atau meneruskan string kueri tertentu ke origin.
-
Jika Flag diatur ke None atau break, hanya jalur resource dalam URL yang ditulis ulang.

-
Jika Flag diatur ke enhance break, baik jalur resource maupun string kueri dapat ditulis ulang.

Catatan penggunaan
-
Anda dapat mengonfigurasi hingga 50 aturan Origin Path Rewrite untuk satu nama domain.
-
Aturan diterapkan dari atas ke bawah. Urutannya memengaruhi hasil akhir penulisan ulang.
-
Saat Anda mengonfigurasi aturan eksekusi untuk origin URL rewrite, penulisan ulang parameter URL dapat bertentangan dengan fitur Ignore Parameters pada tab Domain Names > Performance Optimization. Jika Anda mengonfigurasi kedua fitur tersebut, pastikan pengaturannya tidak saling bertentangan.
Prosedur
-
Masuk ke ApsaraVideo VOD console.
Pada panel navigasi sebelah kiri, pilih Configuration Management > CDN Configuration > Domain Names.
-
Temukan nama domain yang ingin Anda kelola dan klik Configure di kolom Actions.
-
Pada panel navigasi sebelah kiri untuk nama domain tersebut, klik Back-to-Origin.
-
Klik tab Origin URL Rewrite.
-
Klik Add dan konfigurasikan jalur sumber, jalur tujuan, serta aturan eksekusi sesuai kebutuhan Anda.
PentingAturan penulisan ulang pada halaman Origin URL Rewrite dieksekusi secara berurutan dari atas ke bawah, yang dapat memengaruhi hasil penulisan ulang Anda.
Parameter
Contoh
Deskripsi
Source Path
^/hello$
Jalur URL yang akan dicocokkan. Harus diawali dengan garis miring (/) dan tidak boleh menyertakan awalan
http://atau nama domain. Ekspresi Reguler yang Kompatibel Perl (PCRE) didukung.Destination Path
/hello/test
Jalur URL yang akan digunakan untuk penulisan ulang. Harus diawali dengan garis miring (/) dan tidak boleh menyertakan awalan
http://atau nama domain.execution rule
Empty
Jika URL permintaan cocok dengan aturan, sistem menerapkan penulisan ulang dan melanjutkan pemrosesan. URL yang telah ditulis ulang kemudian dievaluasi terhadap aturan berikutnya.
break
-
Jika URL permintaan cocok dengan aturan ini, sistem mengeksekusi aturan tersebut dan menghentikan pemrosesan aturan berikutnya.
-
Opsi ini hanya menulis ulang jalur resource dalam URL, bukan parameter URL. Opsi ini tidak bertentangan dengan fitur parameter rewrite.
enhance break
-
Jika URL permintaan cocok dengan aturan ini, aturan tersebut dieksekusi dan tidak ada aturan berikutnya yang diproses.
-
Serupa dengan
break, tetapi opsi ini juga dapat menulis ulang parameter URL. .
-
-
Klik OK untuk menerapkan aturan penulisan ulang.
Pada tab Origin URL Rewrite, Anda juga dapat mengklik Modify atau Delete dalam daftar aturan untuk mengelola aturan penulisan ulang yang sudah ada.
Contoh konfigurasi
Contoh 1: Aturan eksekusi kosong
|
Path to Be Rewritten |
^/hello$ |
|
Target Path |
/index.html |
|
Flag |
None |
|
Result |
Permintaan asli: Permintaan pengambilan asal setelah penulisan ulang: Permintaan tersebut kemudian dicocokkan dengan aturan berikutnya dalam daftar Origin Path Rewrite. |
Contoh 2: Aturan eksekusi break
|
Path to Be Rewritten |
^/hello.jpg$ |
|
Target Path |
/image/hello.jpg |
|
Flag |
break |
|
Result |
Permintaan asli: Permintaan pengambilan asal setelah penulisan ulang: Tidak ada aturan berikutnya dalam daftar Origin Path Rewrite yang dievaluasi. |
Contoh 3: Menyempurnakan aturan eksekusi break
|
Path to Be Rewritten |
^/hello.jpg?code=123$ |
|
Target Path |
/image/hello.jpg?code=321 |
|
Flag |
enhance break |
|
Result |
Permintaan asli: Permintaan pengambilan asal setelah penulisan ulang: Tidak ada aturan berikutnya dalam daftar Origin Path Rewrite yang dievaluasi. |
Contoh 4: Menambahkan awalan ke jalur root
Sebagai contoh, Anda dapat menulis ulang jalur URL seperti /xxx, di mana xxx adalah nama file variabel (misalnya, /hello.jpg atau /hello.html), menjadi /image/xxx. Hal ini menyisipkan awalan /image ke dalam jalur untuk file apa pun di direktori root.
|
Path to Be Rewritten |
^(.*)$ Catatan
|
|
Target Path |
/image$1 Catatan
|
|
Flag |
break |
|
Result |
Tidak ada aturan berikutnya dalam daftar Origin Path Rewrite yang dievaluasi. |
Contoh 5: Menambahkan awalan ke jalur tertentu
Sebagai contoh, Anda dapat menulis ulang URL yang berisi /live/xxx, di mana xxx merepresentasikan nama file apa pun (misalnya, hello.jpg atau hello.html), menjadi /image/live/xxx. Hal ini menyisipkan awalan /image ke dalam jalur untuk file apa pun di bawah direktori /live.
|
Path to Be Rewritten |
^/live/(.*)$ |
|
Target Path |
/image/live/$1 |
|
Flag |
break |
|
Result |
Tidak ada aturan berikutnya dalam daftar Origin Path Rewrite yang dievaluasi. |
Contoh 6: Mencocokkan beberapa aturan dengan aturan kosong
Pertimbangkan dua aturan yang diaktifkan. Aturan 1: Source Path adalah ^/image_01.png$, Destination Path adalah /image_02.png, dan execution rule adalah Empty. Aturan 2: Source Path adalah ^(.*)$, Destination Path adalah /image$1, dan execution rule adalah Empty.
Hasil:
-
Permintaan asli:
http://example.com/image_01.png -
Permintaan pengambilan asal setelah penulisan ulang:
http://example.com/image/image_02.pngCatatanPermintaan pertama kali cocok dengan Aturan 1 dan ditulis ulang menjadi
http://example.com/image_02.png. Karena Flag diatur ke None, jalur yang telah ditulis ulang kemudian dievaluasi terhadap Aturan 2, yang juga cocok. Jalur tersebut ditulis ulang untuk kedua kalinya, menghasilkan jalur akhir:http://example.com/image/image_02.png.
Contoh 7: Mencocokkan beberapa aturan dengan aturan break
Pertimbangkan dua aturan yang diaktifkan. Aturan 1: Source Path adalah ^/image_01.png$, Destination Path adalah /image_02.png, dan execution rule adalah break. Aturan 2: Source Path adalah ^(.*)$, Destination Path adalah /image$1, dan execution rule adalah Empty.
Hasil:
-
Permintaan asli:
http://example.com/image_01.png -
Permintaan pengambilan asal setelah penulisan ulang:
http://example.com/image_02.pngCatatanPermintaan pertama kali cocok dengan Aturan 1 dan ditulis ulang menjadi
http://example.com/image_02.png. Karena Flag Aturan 1 diatur ke break, pemrosesan dihentikan dan tidak ada aturan berikutnya yang dievaluasi.