All Products
Search
Document Center

Function Compute:Konfigurasi kebijakan rewrite (dalam pratinjau publik)

Last Updated:Jun 21, 2026

Anda dapat mengonfigurasi kebijakan rewrite untuk memodifikasi URI permintaan yang mencapai fungsi Anda melalui nama domain kustom. Topik ini menjelaskan pola rewrite yang tersedia dan cara mengonfigurasi kebijakan rewrite untuk nama domain kustom Anda di Konsol Function Compute.

Latar Belakang

Di Function Compute, kebijakan rewrite hanya dapat memodifikasi komponen path dan query dari URI permintaan. Fitur ini tidak mendukung modifikasi terhadap scheme, host, port, atau fragment.

Pola Rewrite

Function Compute mendukung rewrite tingkat rute untuk nama domain kustom dan menyediakan tiga pola rewrite: exact rewrite, wildcard rewrite, dan regex rewrite.

Exact Rewrite

Pada exact rewrite, jika path permintaan sesuai secara tepat dengan aturan pencocokan, path tersebut akan diganti dengan aturan penggantian. Misalnya, jika aturan pencocokan adalah /old dan aturan penggantian adalah /new, permintaan untuk /old akan ditulis ulang menjadi /new.

Matching rule

Replacement rule

Original URI

Rewritten URI

/old

/new

/old

/new

/test/old

Mismatch

/serviceName.Qualifier

/serviceA

/serviceName.Qualifier

/serviceA

Wildcard Rewrite

Wildcard rewrite menyediakan cara sederhana untuk mencocokkan permintaan dan cocok untuk sebagian besar kasus penggunaan.

Dalam aturan penggantian, Anda dapat mereferensikan string yang ditangkap oleh setiap tanda bintang berdasarkan posisinya. Misalnya, jika aturan pencocokan adalah /api/* dan aturan penggantian adalah /$1, permintaan untuk /api/getFunctionName akan ditulis ulang menjadi /getFunctionName.

Catatan

Pada wildcard rewrite, * dan ^ memiliki makna khusus. Semua karakter lainnya dicocokkan sebagai string literal.

  • * mencocokkan string apa pun.

  • ^ mengaitkan pencocokan ke awal string.

Matching rule

Replacement rule

Original URI

Rewritten URI

/old

/new

/old

/new

/test/old

/new

^/old

/new

/old

/new

/test/old

Mismatch

/api/*

/$1

/api/getFunctionName

/getFunctionName

/api/getFunctionName&Version=1

/getFunctionName&Version=1

/css/*

/public/static/css/$1

/css/style.css

/public/static/css/style.css

/ServiceName/*/FunctionName/*/Qualifier/*

/$1.$3/$2

/ServiceName/svc-a/FunctionName/func-a/Qualifier/1

/svc-a.1/func-a

/f..c

/helloworld

/f..c

/helloworld

/func

Mismatch

Regex Rewrite

Pada regex rewrite, aturan pencocokan dan aturan penggantian mengikuti sintaks ekspresi reguler standar. Untuk informasi lebih lanjut mengenai sintaks tersebut, lihat sintaks ekspresi reguler.

Catatan

Regex rewrite merupakan fitur tingkat lanjut dengan sintaks kompleks dan ditujukan untuk kasus penggunaan khusus. Untuk sebagian besar skenario, kami menyarankan Anda menggunakan wildcard rewrite.

Matching rule

Replacement rule

Original URI

Rewritten URI

^/old/[a-z]+/

/new

/old/ab/

/new

/test/a-b/

Mismatch

^/api/.+?/(.*)

/api/v2/$1

/api/v1/test

/api/v2/test

/api/v1-pre/test

/api/v2/test

Urutan dan Prioritas Pencocokan

Prioritas ketiga pola rewrite, dari tertinggi ke terendah, adalah: exact rewrite → wildcard rewrite → regex rewrite.

Anda dapat mengonfigurasi beberapa kebijakan rewrite untuk satu aturan routing. Jika suatu permintaan cocok dengan beberapa kebijakan dari jenis yang sama, Function Compute menerapkan kebijakan pertama sesuai urutan yang ditentukan dan mengabaikan sisanya.

Sebagai contoh, pertimbangkan kebijakan wildcard rewrite berikut:

var rule1 = &WildcardRules{
    Match:       "/api/v1/*",
    Replacement: "/api/v2/$1",
}
var rule2 = &WildcardRules{
    Match:       "/api/*/*",
    Replacement: "/api/v3/$2",
}
  • Jika kebijakan rewrite diurutkan sebagai [rule1, rule2], permintaan untuk /api/v1/getFunctionName akan ditulis ulang menjadi /api/v2/getFunctionName.

  • Jika kebijakan rewrite diurutkan sebagai [rule2, rule1], permintaan untuk /api/v1/getFunctionName akan ditulis ulang menjadi /api/v3/getFunctionName.

Prasyarat

Buat fungsi

Prosedur

Anda dapat menambahkan kebijakan rewrite ke nama domain kustom baru atau yang sudah ada.

Nama Domain Baru

  1. Masuk ke Konsol Function Compute. Di panel navigasi kiri, pilih Function Management > Custom Domain Name.

  2. Di bilah navigasi atas, pilih Wilayah. Pada halaman Custom Domains, klik Add Custom Domain Name.

  3. Pada halaman Add Custom Domain Name, masukkan nama domain. Di bagian Routing Settings, klik Configure di bawah Configuration.

  4. Di panel Configure Rewrite Policy, klik + Add Rewrite Policy, konfigurasi kebijakan tersebut, lalu klik OK.

    Kebijakan rewrite mendukung tiga opsi Policy Type: exact rewrite (misalnya, aturan pencocokan /old dan aturan penggantian /new), wildcard rewrite (misalnya, aturan pencocokan /api/* dan aturan penggantian $1), dan regex rewrite (misalnya, aturan pencocokan ^/api/.+?/(.*) dan aturan penggantian /api/v2/$1). Untuk setiap kebijakan, Anda harus mengonfigurasi Matching rule dan Replacement rule.

Nama Domain yang Sudah Ada

  1. Masuk ke Konsol Function Compute. Di panel navigasi kiri, pilih Function Management > Custom Domain Name.

  2. Di bilah navigasi atas, pilih Wilayah. Di daftar nama domain, temukan nama domain target dan klik Modify pada kolom Actions.

  3. Pada halaman Modify Custom Domain Name, buka bagian Routing Settings dan klik Configure di bawah Configuration.

  4. Di panel Configure Rewrite Policy, klik + Add Rewrite Policy, konfigurasi kebijakan tersebut, lalu klik OK.