Cara Membuat Aturan Penulisan Ulang di Nginx

Aturan penulisan ulang NGINX memberikan cara yang ampuh untuk mengubah dan mengelola permintaan URL di server web Anda. Aturan-aturan ini penting untuk mengalihkan URL, mengubah struktur URL, dan meningkatkan SEO. Dengan memanfaatkan aturan penulisan ulang, Anda dapat memastikan bahwa pengguna dan mesin telusur dapat mengakses konten Anda secara efisien dan menjaga struktur URL yang bersih dan terorganisir. Menguasai aturan penulisan ulang memungkinkan Anda meningkatkan fungsionalitas dan fleksibilitas server web Anda, memberikan pengalaman pengguna yang lebih baik secara keseluruhan.

Panduan ini akan menjelaskan cara membuat aturan penulisan ulang di NGINX, memberikan contoh dan langkah yang jelas untuk membantu Anda mengonfigurasi server agar menangani modifikasi URL secara efektif.

Aturan Penulisan Ulang NGINX: Petunjuk Pengembalian

NGINX return direktif adalah alat yang ampuh untuk mengelola respons server. Ini terutama digunakan untuk mengarahkan klien ke URL yang berbeda atau untuk mengirim kode status tertentu. Arahan ini menyederhanakan pengalihan lalu lintas, terutama saat memindahkan atau merestrukturisasi situs web Anda. Ini penting untuk SEO dan menjaga pengalaman pengguna selama transisi. Mari kita periksa contoh unik untuk memahami penerapannya:

Contoh: Misalkan Anda ingin mengalihkan pengguna dari halaman lama ke halaman baru. Dalam file konfigurasi NGINX Anda, Anda mungkin menggunakan return arahan sebagai berikut:

server {
    listen 80;
    server_name oldsite.com;
    return 301 http://newsite.com$request_uri;
}

Dalam contoh ini, setiap permintaan ke oldsite.com dialihkan secara permanen ke newsite.com, dengan mempertahankan URI permintaan. Kode status 301 menunjukkan pengalihan permanen, memberi tahu mesin pencari untuk memperbarui pengindeksannya.

Aturan Penulisan Ulang NGINX: Petunjuk Penulisan Ulang

Arahan penulisan ulang NGINX digunakan untuk mengubah URI permintaan dengan berbagai cara sebelum diproses lebih lanjut. Ini lebih serbaguna daripada arahan pengembalian, memungkinkan manipulasi URL yang kompleks berdasarkan kondisi. Fitur ini sangat penting untuk membuat URL ramah SEO dan mengelola tautan lama.

Contoh: Bayangkan Anda perlu mengonversi URL dinamis menjadi URL statis untuk SEO yang lebih baik. Anda bisa menggunakan arahan penulisan ulang seperti ini:

server {
    listen 80;
    server_name example.com;
    location /products {
        rewrite ^/products/([0-9]+)/([0-9]+)$ /product?id=$1&page=$2 last;
    }
}

Dalam skenario ini, URL seperti example.com/products/123/2 ditulis ulang secara internal menjadi example.com/product?id=123&page=2. Tanda terakhir menunjukkan bahwa proses penulisan ulang harus dihentikan dan URI baru harus dievaluasi ulang.

Contoh Aturan Penulisan Ulang NGINX

Menerapkan Aturan Penulisan Ulang HTTPS di NGINX

Memastikan koneksi aman melalui HTTPS sangat penting untuk keamanan data. Arahan penulisan ulang NGINX dapat mengalihkan semua lalu lintas HTTP ke HTTPS, sehingga meningkatkan keamanan data saat transit.

server {
    listen 80;
    server_name example.com;
    return 301 https://$host$request_uri;
}

Dalam contoh ini, permintaan HTTP ke example.com dialihkan ke HTTPS, memastikan komunikasi terenkripsi.

Menyederhanakan URL: Penghapusan Duplikat Slash dalam Aturan Penulisan Ulang NGINX

Terkadang, URL mungkin berisi garis miring duplikat, yang menyebabkan kebingungan atau kesalahan. Arahan penulisan ulang NGINX secara efisien menangani hal ini dengan mengonversi URL dengan garis miring ganda menjadi garis miring tunggal.

server {
    server_name example.com;
    if ($request_uri ~* "\/\/") {
        rewrite ^/(.*)/$ /$1 permanent;
    }
}

Aturan ini menyederhanakan URL dengan menghilangkan garis miring yang berlebihan.

Pengalihan Direktori: Tindakan Aturan Penulisan Ulang NGINX

Saat mengatur ulang atau memindahkan sumber daya, sering kali diperlukan pengalihan seluruh direktori secara efisien. NGINX memfasilitasi hal ini melalui aturan penulisan ulangnya.

location ^~ /old-directory/ {
    rewrite ^/old-directory/(.*)$ /new-directory/$1 permanent;
}

Perintah ini mengalihkan semua permintaan dari /direktori-lama/ ke /direktori-baru/.

Manipulasi String Kueri Menggunakan Aturan Penulisan Ulang di NGINX

Mengubah URL berdasarkan string kueri bisa sangat bermanfaat selama desain ulang situs. Aturan penulisan ulang NGINX memungkinkan restrukturisasi URL dinamis berdasarkan parameter ini.

if ($args ~ "^id=(.*)&lang=(.*)") {
    set $id $1;
    set $lang $2;
    rewrite ^/page.php$ /page/$lang/$id? permanent;
}

Di sini, aturan penulisan ulang mengubah string kueri yang kompleks menjadi URL yang lebih sederhana.

Memastikan URL Seragam: Trailing Slash dalam Aturan Penulisan Ulang NGINX

Keseragaman dalam struktur URL, seperti garis miring, sangat penting untuk konsistensi situs dan SEO.

rewrite ^([^.]*[^/])$ $1/ permanent;

Aturan ini memastikan semua URL diakhiri dengan garis miring, mempertahankan format standar.

Pengalihan Berbasis Metode: Menerapkan Aturan Penulisan Ulang di NGINX

NGINX memungkinkan pengalihan berdasarkan metode permintaan tertentu, seperti POST, yang penting untuk menangani pengiriman formulir dengan aman.

if ($request_method = POST ) {
    return 301 https://example.com$request_uri;
}

Perintah ini mengalihkan semua permintaan POST ke URL HTTPS.

Melindungi Gambar dengan Aturan Penulisan Ulang NGINX

Lindungi sumber daya server Anda dengan mencegah tautan langsung tanpa izin ke gambar Anda.

location ~ .(gif|png|jpe?g)$ {
    valid_referers none blocked ~.google. ~.bing. ~.yahoo. example.com *.example.com;
    if ($invalid_referer) {
        rewrite ^/images/(.*)$ /stop-hotlinking.$1 last;
    }
}

Pengaturan ini mengalihkan permintaan dengan perujuk yang tidak valid, sehingga secara efektif memblokir hotlinking.

Menerapkan URL Huruf Kecil untuk Konsistensi

Mempertahankan URL huruf kecil di seluruh situs Anda akan meningkatkan konsistensi dan mencegah kebingungan.

location ~ [A-Z] {
    rewrite ^(.*)$ $scheme://$host$1 lowercase;
}

Perintah ini mengubah elemen URL huruf besar menjadi huruf kecil.

Menangani Perubahan Struktur URL

Beradaptasi dengan struktur URL baru tanpa kehilangan lalu lintas atau merugikan pengalaman pengguna sangatlah penting selama pembaruan situs web.

server {
    listen 80;
    server_name example.com;
    
    location ~* ^/oldpath/(.*) {
        rewrite ^/oldpath/(.*)$ /newpath/$1 permanent;
    }
}

Mengalihkan pengguna dan mesin telusur dari URL lama ke URL baru.

Membuat URL Bersih untuk Platform CMS

Untuk platform CMS yang mengandalkan string kueri, aturan penulisan ulang NGINX dapat menghasilkan URL yang lebih bersih dan ramah SEO.

location / {
    try_files $uri $uri/ @extensionless-php;
    index index.html index.htm index.php;
}

location ~ \.php$ {
    try_files $uri =404;
}

location @extensionless-php {
    rewrite ^(/[^.]*[^/])$ $1.php last;
}

Penyiapan ini mengubah URL ke format yang lebih mudah dibaca, sehingga berpotensi meningkatkan kinerja SEO.

Kesimpulan

Dengan membuat dan mengonfigurasi aturan penulisan ulang di NGINX, Anda dapat mengoptimalkan manajemen URL, meningkatkan SEO, dan memastikan pengalaman pengguna yang lancar. Tinjau dan uji aturan penulisan ulang Anda secara rutin untuk memastikan aturan tersebut berfungsi sesuai harapan dan melakukan penyesuaian sesuai kebutuhan. Menguasai aturan penulisan ulang NGINX memungkinkan Anda memanfaatkan kekuatan penuh NGINX untuk server web yang lebih dinamis dan responsif.

Joshua James
Ikuti aku
Postingan terbaru oleh Joshua James (Lihat semua)

Tinggalkan komentar