GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengarahkan Ulang URL Menggunakan Nginx

Apa itu Pengalihan?

Redirect adalah fungsi server web yang akan mengarahkan lalu lintas dari satu URL ke URL lainnya. Pengalihan adalah fitur penting ketika kebutuhan muncul. Ada beberapa jenis pengalihan, tetapi bentuk yang lebih umum bersifat sementara dan permanen. Pada artikel ini, kami akan memberikan beberapa contoh pengalihan melalui file vhost, memaksa koneksi HTTPS yang aman, pengalihan ke www dan non-www serta perbedaan antara pengalihan sementara dan permanen.

CatatanKarena ini adalah server Nginx, aturan .htaccess apa pun tidak akan berlaku. Jika Anda menggunakan server web populer lainnya, Apache, Anda akan menemukan artikel ini berguna.

Metode Umum untuk Pengalihan

Pengalihan sementara (kode respons:302 Ditemukan) berguna jika URL sementara dilayani dari lokasi berbeda. Misalnya, ini berguna saat melakukan pemeliharaan dan dapat mengarahkan pengguna ke halaman pemeliharaan.

Namun, pengalihan permanen (kode respons:301 Dipindahkan Secara Permanen) memberi tahu browser bahwa ada URL lama yang harus dilupakan dan tidak dicoba diakses lagi. Ini berguna saat konten berpindah dari satu tempat ke tempat lain.

Cara Mengarahkan Ulang

Ketika datang ke Nginx, itu ditangani dalam .conf file, biasanya ditemukan di direktori root dokumen situs Anda, /etc/nginx/sites-available/directory_name .conf . Direktori root dokumen adalah tempat file situs Anda berada dan terkadang bisa berada di / html jika Anda memiliki satu situs di server. Atau jika server Anda memiliki beberapa situs bisa di /domain.com. Apa pun itu, itu akan menjadi nama file .conf Anda. Di /etc/nginx/sites-available/ direktori Anda akan menemukan default file yang dapat Anda salin atau gunakan untuk menambahkan pengalihan Anda. Atau Anda dapat membuat nama file baru html.conf atau domain.com.conf.

CatatanJika Anda memilih untuk membuat file baru, pastikan untuk memperbarui tautan simbolik Anda di /etc/nginx/sites-enabled. Dengan perintah:

ln -s /etc/nginx/sites-available/domain.com.conf /etc/nginx/sites-enabled/domain.com.conf

Contoh pertama yang akan kita bahas adalah pengalihan halaman/direktori tertentu ke halaman/direktori baru.

Pengalihan Laman ke Laman Sementara

server {
# Temporary redirect to an individual page
rewrite ^/oldpage$ http://www.domain.com/newpage redirect;
}

Pengalihan Laman ke Laman Permanen

server {
# Permanent redirect to an individual page
rewrite ^/oldpage$ http://www.domain.com/newpage permanent;
}

Pengalihan www ke non-www permanen

server {
# Permanent redirect to non-www
server_name www.domain.com;
rewrite ^/(.*)$ http://domain.com/$1 permanent;
}

Pengalihan Permanen ke www

server {
# Permanent redirect to www
server_name domain.com;
rewrite ^/(.*)$ http://www.newdomain.com/$1 permanent;
}

Terkadang kebutuhan akan muncul untuk mengubah nama domain untuk sebuah situs web. Dalam hal ini, pengalihan dari URL situs lama ke URL situs baru akan sangat membantu dalam memberi tahu pengguna bahwa domain telah dipindahkan ke URL baru.

Contoh berikutnya yang akan kita bahas adalah mengarahkan ulang URL lama ke URL baru.

Pengalihan Permanen ke URL Baru

server {
# Permanent redirect to new URL
server_name olddomain.com;
rewrite ^/(.*)$ http://newdomain.com/$1 permanent;
}

Kami telah menambahkan pengalihan menggunakan arahan penulisan ulang yang telah kami diskusikan sebelumnya. ^/(.*)$ ekspresi reguler akan menggunakan semuanya setelah / di URL. Misalnya, http://lama domain.com/index.html akan dialihkan ke http://baru domain.com/index.html. Untuk mencapai pengalihan permanen, kami menambahkan permanen setelah direktif penulisan ulang seperti yang Anda lihat dalam kode contoh.

Dalam hal HTTPS dan sepenuhnya aman, ini ideal untuk memaksa semua orang menggunakan https:// alih-alih http://.

Mengalihkan ke HTTPS

server {
# Redirect to HTTPS
listen      80;
server_name domain.com www.domain.com;
return      301 https://example.com$request_uri;
}

Setelah aturan penulisan ulang ini diterapkan, disarankan untuk menguji konfigurasi sebelum menjalankan mulai ulang. Sintaks Nginx dapat diperiksa dengan -t tandai untuk memastikan tidak ada kesalahan ketik dalam file.

Pemeriksaan Sintaks Nginx

nginx -t

Jika tidak ada yang dikembalikan, sintaksnya benar dan Nginx harus dimuat ulang agar pengalihan dapat diterapkan.

Memulai ulang Nginx

service nginx reload

Untuk CentOS 7 yang tidak seperti CentOS 6 , menggunakan systemd:

systemctl restart nginx

Pengalihan pada WordPress/WooCommerce Terkelola

Jika Anda menggunakan produk Managed WordPress/WooCommerce kami, pengalihan dapat terjadi melalui /home/s#/nginx/redirects.conf mengajukan. Setiap situs akan memiliki s# . mereka sendiri yang merupakan pengguna FTP/SSH per situs. Plugin yang disebut 'Pengalihan' dapat diunduh untuk membantu pengalihan halaman ke halaman sederhana, jika tidak, file redirects.conf dapat digunakan untuk menambahkan pengalihan yang lebih spesifik juga menggunakan contoh yang dijelaskan di atas.

Karena sifat platform terkelola setelah Anda memiliki aturan di dalam file redirects.conf, harap hubungi dukungan dan minta Nginx untuk dimuat ulang. Jika Anda merasa tidak nyaman dengan melakukan langkah-langkah yang diuraikan di atas, hubungi tim dukungan kami melalui obrolan, tiket, atau panggilan telepon. Dengan WordPress/WooCommerce Terkelola, Anda mendapatkan dukungan 24/7 dan siap membantu Anda!


Linux
  1. Cara Menggunakan Nginx untuk Mengarahkan

  2. Cara Menonaktifkan ETag di NGINX

  3. Bagaimana cara Mengarahkan ulang situs saya menggunakan file htaccess (titik) ?

  1. Bagaimana cara mengarahkan ulang http ke https menggunakan .htaccess?

  2. Cara Mengkonfigurasi Nginx untuk Mengeksekusi PHP Menggunakan PHP-FPM

  3. Cara menghentikan nginx dari menggunakan port 80

  1. Cara Mengarahkan HTTP ke HTTPS di Nginx

  2. Cara Menginstal WordPress Menggunakan Nginx di Ubuntu 18.04

  3. Cara Mengaktifkan HTTP2 di NGINX