

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Transformasi untuk aturan pendengar
<a name="rule-transforms"></a>

Transformasi aturan menulis ulang permintaan masuk sebelum dialihkan ke target. Menulis ulang permintaan tidak mengubah keputusan perutean yang dibuat saat mengevaluasi kondisi aturan. Ini berguna ketika klien mengirim URL atau header host yang berbeda dari yang diharapkan target.

Menggunakan aturan mengubah tanggung jawab untuk memodifikasi jalur, string kueri, dan header host ke penyeimbang beban. Ini menghilangkan kebutuhan untuk menambahkan logika modifikasi kustom ke kode aplikasi Anda atau mengandalkan proxy pihak ketiga untuk melakukan modifikasi.

Application Load Balancers mendukung transformasi berikut untuk aturan pendengar.Mengubah

`host-header-rewrite`  
Menulis ulang header host dalam permintaan. Transformasi menggunakan ekspresi reguler untuk mencocokkan pola di header host dan kemudian menggantinya dengan string pengganti.

`url-rewrite`  
Menulis ulang URL permintaan. Transformasi menggunakan ekspresi reguler untuk mencocokkan pola di URL permintaan dan kemudian menggantinya dengan string pengganti.

**Ubah dasar-dasar**
+ Anda dapat menambahkan satu transformasi penulisan ulang header host dan satu transformasi penulisan ulang URL per aturan.
+ Anda tidak dapat menambahkan transformasi ke aturan default.
+ Jika tidak ada kecocokan pola, permintaan asli dikirim ke target.
+ Jika ada kecocokan pola tetapi transformasi gagal, kami mengembalikan kesalahan HTTP 500.

## Transformasi penulisan ulang header host
<a name="host-header-rewrite-transforms"></a>

Anda dapat memodifikasi nama domain yang ditentukan di header host.

**Example Contoh transformasi header host**  
Anda dapat menentukan transformasi saat membuat atau memodifikasi aturan. Untuk informasi lebih lanjut, lihat perintah [buat-peraturan](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-rule.html) dan [modifikasi-peraturan](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-rule.html). Berikut ini adalah contoh transformasi header host. Ini mengubah header host ke titik akhir internal.  

```
[
  {
      "Type": "host-header-rewrite",
      "HostHeaderRewriteConfig": {
          "Rewrites": [
              {
                  "Regex": "^mywebsite-(.+).com$",
                  "Replace": "internal.dev.$1.myweb.com"
              }
          ]
      }
  }
]
```
Misalnya, transformasi ini menulis ulang header host `https://mywebsite-example.com/project-a` sebagai`https://internal.dev.example.myweb.com/project-a`.

## Transformasi penulisan ulang URL
<a name="url-rewrite-transforms"></a>

Anda dapat memodifikasi jalur atau string kueri URL. Dengan menulis ulang URL pada tingkat penyeimbang beban, frontend Anda URLs dapat tetap konsisten untuk pengguna dan mesin pencari bahkan jika layanan backend Anda berubah. Anda juga dapat menyederhanakan string kueri URL yang kompleks untuk membuatnya lebih mudah bagi pelanggan untuk mengetik.

Perhatikan bahwa Anda tidak dapat mengubah protokol atau port URL, hanya jalur dan string kueri.

**Example Contoh transformasi penulisan ulang URL**  
Anda dapat menentukan transformasi saat membuat atau memodifikasi aturan. Untuk informasi lebih lanjut, lihat perintah [buat-peraturan](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-rule.html) dan [modifikasi-peraturan](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-rule.html). Berikut ini adalah contoh URL rewrite transform. Ini mengubah struktur direktori ke string query.  

```
[
  {
      "Type": "url-rewrite",
      "UrlRewriteConfig": {
          "Rewrites": [
              {
                  "Regex": "^/dp/([A-Za-z0-9]+)/?$",
                  "Replace": "/product.php?id=$1"
              }
          ]
      }
  }
]
```
Misalnya, transformasi ini menulis ulang URL permintaan `https://www.example.com/dp/B09G3HRMW` sebagai`https://www.example.com/product.php?id=B09G3HRMW`.

**Bagaimana penulisan ulang URL berbeda dari pengalihan URL**


| Karakteristik | Pengalihan URL | Penulisan ulang URL | 
| --- | --- | --- | 
| Tampilan URL | Perubahan pada bilah alamat browser | Tidak ada perubahan di bilah alamat browser | 
| Kode status | Menggunakan 301 (permanen) atau 302 (sementara) | Tidak ada perubahan kode status | 
| Pemrosesan | Sisi peramban | Sisi server | 
| Penggunaan umum | Perubahan domain, konsolidasi situs web, memperbaiki tautan yang rusak | Bersihkan URLs untuk SEO, sembunyikan struktur kompleks, berikan pemetaan URL lama | 