Konfigurasi Pengalihan Laman Web dalam ServBay
Pengalihan laman web ialah proses mengarahkan pelawat secara automatik dari satu URL ke URL lain. Mengkonfigurasi pengalihan dalam persekitaran pembangunan tempatan sangat penting untuk meniru tingkah laku pelayan produksi, menguji perubahan struktur URL, atau memastikan pautan lama masih berfungsi dalam versi pembangunan baru. ServBay, sebagai persekitaran pembangunan web tempatan yang mantap, membolehkan anda mengatur pengalihan laman web dengan mudah melalui pelayan web terbina dalamnya (Caddy atau Nginx).
Pengenalan
Dalam ServBay, setiap laman web yang anda cipta dikendalikan oleh fail konfigurasi pelayan web yang berasingan. Pengalihan dicapai dengan mengubah suai fail konfigurasi ini. ServBay menyokong Caddy dan Nginx sebagai pelayan web, dan anda boleh memilih mengikut keperluan projek atau keutamaan anda. Biasanya, konfigurasi pengalihan melibatkan penentuan corak URL asal, URL sasaran, dan jenis pengalihan (seperti 301 untuk pengalihan kekal atau 302 untuk pengalihan sementara).
Senario Penggunaan
Beberapa senario biasa untuk mengkonfigurasi pengalihan dengan ServBay dalam pembangunan tempatan termasuk:
- Meniru persekitaran produksi: Pastikan peraturan pengalihan pada mesin tempatan anda sepadan dengan pelayan produksi.
- Menguji HTTPS: Paksa semua permintaan HTTP dialihkan ke HTTPS untuk meniru sambungan yang selamat.
- Menyeragamkan URL: Alihkan domain ber-'www' ke bukan 'www', atau sebaliknya, untuk memastikan konsistensi URL.
- Mengurus perubahan struktur URL: Bila anda menukar laluan atau struktur laman web, alihkan URL lama ke URL baru bagi mengelakkan ralat “page not found” semasa ujian tempatan.
- Uji migrasi domain: Simulasikan pengalihan dari domain lama ke domain baru.
Prasyarat
Untuk menyediakan pengalihan laman web dalam ServBay, anda perlukan:
- ServBay telah dipasang dan sedang berjalan.
- Laman web yang ingin dialihkan telah ditambah dan dikonfigurasi dalam ServBay.
- Ketahui pelayan web yang digunakan oleh laman anda, sama ada Caddy atau Nginx.
Cara Konfigurasi
ServBay menyediakan fail konfigurasi pelayan web yang berasingan untuk setiap laman web. Anda boleh mengakses dan mengedit fail ini dengan mudah melalui antaramuka ServBay.
Mengakses Fail Konfigurasi Laman
- Buka aplikasi ServBay.
- Pada bar navigasi sebelah kiri, klik Website (Laman Web).
- Cari laman web yang ingin anda konfigurasi, klik namanya untuk masuk ke halaman butiran laman.
- Dalam halaman butiran laman, cari dan klik “fail konfigurasi” atau pilihan serupa (namanya mungkin sedikit berbeza bergantung pada versi ServBay) untuk membuka fail konfigurasi pelayan web bagi laman tersebut.
Seterusnya, ikut arahan di bawah bergantung pada pelayan web yang digunakan (Caddy atau Nginx).
Pengalihan Dengan Caddy
Jika laman anda menggunakan Caddy sebagai pelayan web, anda perlu mengedit Caddyfile laman tersebut. Sintaks Caddyfile mudah dan ringkas.
Berikut ialah beberapa contoh konfigurasi pengalihan Caddy yang biasa. Sila tambah konfigurasi ini ke dalam Caddyfile laman anda, biasanya di dalam blok alamat laman ({}
).
Contoh 1: Pengalihan HTTP ke HTTPS
Secara lalai, Caddy akan mengendalikan pengalihan dari HTTP ke HTTPS secara automatik jika anda telah menyediakan sijil SSL (sama ada dari ServBay User CA atau melalui ACME). Jika anda perlukan kawalan manual atau lebih terperinci, gunakan arahan redirect
:
bash
servbay.demo {
# ... Konfigurasi lain ...
# Paksa semua permintaan HTTP dialihkan ke HTTPS
# Jika anda menggunakan fungsi SSL ServBay, biasanya tidak perlu tambah aturan ini secara manual
# Tetapi jika perlu sesuaikan sendiri, anda boleh tulis seperti berikut:
redir http://servbay.demo https://servbay.demo{uri} permanent
# ... Konfigurasi lain ...
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
Contoh 2: Pengalihan bukan-www ke www
Alihkan semua permintaan ke servbay.demo
ke www.servbay.demo
:
bash
servbay.demo {
# Alihkan semua permintaan ke servbay.demo ke www.servbay.demo secara kekal
redir https://www.servbay.demo{uri} permanent
}
www.servbay.demo {
# Konfigurasi laman web biasa untuk www.servbay.demo
root * /Applications/ServBay/www/your-servbay-demo-site
file_server
# ... Konfigurasi lain ...
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
Contoh 3: Pengalihan www ke bukan-www
Alihkan semua permintaan ke www.servbay.demo
ke servbay.demo
:
bash
www.servbay.demo {
# Alihkan semua permintaan ke www.servbay.demo ke servbay.demo secara kekal
redir https://servbay.demo{uri} permanent
}
servbay.demo {
# Konfigurasi laman web biasa untuk servbay.demo
root * /Applications/ServBay/www/your-servbay-demo-site
file_server
# ... Konfigurasi lain ...
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
Contoh 4: Pengalihan Laluan Spesifik
Alihkan laluan lama /old-path
ke laluan baru /new-path
:
bash
servbay.demo {
# ... Konfigurasi lain ...
# Alihkan /old-path secara kekal ke /new-path
redir /old-path /new-path permanent
# Alihkan /deprecated/page.html secara sementara ke /new/page/
redir /deprecated/page.html /new/page/ temporary
# ... Konfigurasi lain ...
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
Jenis Pengalihan dalam Caddy
permanent
: 301 Pengalihan kekal, mesra SEO.temporary
: 302 Pengalihan sementara.internal
: Penulisan semula dalaman, URL tidak berubah (bukan pengalihan HTTP sebenar).
Selepas mengubah suai Caddyfile, simpan fail; ServBay akan memuat semula konfigurasi Caddy secara automatik atau memberi arahan untuk berbuat demikian.
Pengalihan Dengan Nginx
Jika laman anda menggunakan Nginx, anda perlu mengedit fail konfigurasi Nginx laman tersebut (biasanya fail .conf
). Nginx menggunakan arahan return
atau rewrite
untuk pengalihan. return
lebih mudah dan sesuai untuk pengalihan statik; manakala rewrite
lebih versatil dan menyokong regex bagi senario lebih kompleks.
Berikut ialah beberapa contoh konfigurasi pengalihan Nginx yang biasa. Tambahkan konfigurasi ini ke dalam fail .conf
laman anda, biasanya di dalam blok server
.
Contoh 1: Pengalihan HTTP ke HTTPS
Dalam ServBay, jika laman anda mendengar pada port 80 dan 443, tambah peraturan pengalihan pada server
blok yang mendengar port 80:
nginx
server {
listen 80;
listen [::]:80;
server_name servbay.demo www.servbay.demo;
# Alihkan semua permintaan HTTP ke HTTPS
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name servbay.demo www.servbay.demo;
# ... Konfigurasi HTTPS lain ...
# ssl_certificate ...;
# ssl_certificate_key ...;
# Direktori akar laman anda
root /Applications/ServBay/www/your-servbay-demo-site;
index index.html index.htm index.php;
# ... Blok lokasi lain ...
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Contoh 2: Pengalihan bukan-www ke www
Alihkan semua permintaan ke servbay.demo
ke www.servbay.demo
:
nginx
server {
listen 80;
listen [::]:80;
server_name servbay.demo; # Dengar pada domain bukan-www
# Alihkan semua permintaan ke subdomain www, mengekalkan URI dan protokol
return 301 $scheme://www.servbay.demo$request_uri;
}
server {
listen 80;
listen [::]:80;
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name www.servbay.demo; # Dengar pada domain www
# ... Konfigurasi biasa untuk www ...
# ssl_certificate ...;
# ssl_certificate_key ...;
root /Applications/ServBay/www/your-servbay-demo-site;
index index.html index.htm index.php;
# ...
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Contoh 3: Pengalihan www ke bukan-www
Alihkan semua permintaan ke www.servbay.demo
ke servbay.demo
:
nginx
server {
listen 80;
listen [::]:80;
server_name www.servbay.demo; # Dengar pada domain www
# Alihkan semua permintaan ke domain bukan-www, mengekalkan URI dan protokol
return 301 $scheme://servbay.demo$request_uri;
}
server {
listen 80;
listen [::]:80;
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name servbay.demo; # Dengar pada domain bukan-www
# ... Konfigurasi biasa untuk bukan-www ...
# ssl_certificate ...;
# ssl_certificate_key ...;
root /Applications/ServBay/www/your-servbay-demo-site;
index index.html index.htm index.php;
# ...
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Contoh 4: Pengalihan Laluan Spesifik (menggunakan location
dan return
atau rewrite
)
Alihkan laluan lama /old-path
ke laluan baru /new-path
:
nginx
server {
# ... Konfigurasi server lain ...
location = /old-path {
# Padanan tepat untuk /old-path, dan alih secara kekal ke /new-path
return 301 /new-path;
}
location /deprecated/ {
# Alihkan semua permintaan bawah /deprecated/ secara sementara ke /archive/
rewrite ^/deprecated/(.*)$ /archive/$1 temporary;
}
# ... Blok lokasi lain ...
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Jenis Pengalihan dalam Nginx
301
: Pengalihan kekal.302
: Pengalihan sementara.redirect
: Sama dengan 302.permanent
: Sama dengan 301.
Selepas mengedit fail .conf
, simpan fail dan pastikan ServBay telah memuat semula konfigurasi Nginx untuk pengalihan berfungsi.
Perkara Penting
- Sandarkan fail konfigurasi: Sebelum sebarang perubahan, disarankan untuk menyandarkan fail asal supaya boleh dipulihkan jika berlaku sebarang isu.
- Semak sintaks: Selepas mengedit fail konfigurasi, sebaiknya semak sintaks sama ada betul. ServBay biasanya membuat semakan asas semasa penyimpanan, tetapi semakan manual lebih selamat. Untuk Nginx, anda boleh gunakan perintah
nginx -t
(jika Nginx dalam PATH sistem atau menggunakan terminal ServBay). - Uji pengalihan: Selepas konfigurasi, uji dalam pelayar untuk semua senario – dengan/atau tanpa
www
, HTTP dan HTTPS, dan laluan khusus untuk pastikan pengalihan berfungsi seperti dijangka. - Cache pelayar: Pelayar akan simpan cache untuk 301 secara kekal. Jika anda sering ubah aturan 301 semasa ujian, isu cache mungkin timbul. Dalam situasi ini, kosongkan cache pelayar, atau gunakan mod Incognito/Developer Tools untuk nyahaktifkan cache sementara. Untuk ujian sementara, gunakan pengalihan 302 dan tukar ke 301 selepas selesai.
- Muat semula ServBay: Selepas perubahan, pastikan ServBay telah berjaya memuat semula konfigurasi pelayan web. Biasanya ServBay akan melakukannya secara automatik, atau terdapat butang/petunjuk dalam UI.
Soalan Lazim (FAQ)
S: Saya sudah tetapkan pengalihan tetapi pelayar tidak mengalihkan. Kenapa?
J: Mungkin kerana:
- Kesilapan konfigurasi: Semak sama ada sintaks fail konfigurasi betul dan perubahan telah disimpan.
- ServBay belum muat semula konfigurasi: Pastikan ServBay telah gunakan konfigurasi terbaru.
- Cache pelayar: Kosongkan cache pelayar atau guna mod Incognito untuk uji.
- Isu padanan URL: Semak sama ada aturan pengalihan anda sesuai dengan URL/laluan yang diminta.
S: Apakah perbezaan antara 301 dan 302? Yang mana patut digunakan untuk pembangunan tempatan?
J: 301 ialah pengalihan kekal, memberitahu pelayar dan enjin carian bahawa sumber sudah dipindahkan secara kekal dan bagus untuk SEO. 302 ialah pengalihan sementara. Dalam pembangunan tempatan, guna 302 semasa ujian kerana ia tidak dicache pelayar. Jika anda meniru pengalihan kekal (contoh migrasi domain), baru gunakan 301.
S: Saya ubah fail konfigurasi, tetapi ServBay beri ralat atau pelayan web tidak boleh bermula. Apa patut saya buat?
J: Biasanya disebabkan sintaks konfigurasi yang salah. Sila semak dan betulkan bahagian yang diubah, ikut panduan sintaks Caddyfile atau konfigurasi Nginx. Fail log ServBay mungkin ada maklumat ralat terperinci untuk rujukan.
Kesimpulan
Mengkonfigurasi pengalihan laman web dalam ServBay adalah rutin penting dalam pembangunan tempatan, dan boleh dilakukan dengan terus mengedit fail konfigurasi Caddy atau Nginx. Sama ada untuk meniru persekitaran produksi, menguji HTTPS, atau mengendalikan perubahan struktur URL, menguasai sintaks pengalihan pelayan web (redir
untuk Caddy, return
/rewrite
untuk Nginx) membolehkan anda melaksanakannya dengan cekap. Pastikan anda menguji secara menyeluruh selepas konfigurasi dan beri perhatian kepada isu cache pelayar.