ServBay में वेबसाइट रीडायरेक्ट कॉन्फ़िगर करना
वेबसाइट रीडायरेक्ट का मतलब है विज़िटर को एक URL से अपने आप किसी दूसरे URL पर भेजना। लोकल डेवेलपमेंट एनवायरनमेंट में रीडायरेक्ट सेट करना प्रोडक्शन जैसा व्यवहार पाने, URL स्ट्रक्चर बदलने की टेस्टिंग करने, या पुराने लिंक को नए डेवलपमेंट वर्शन में काम करते रहना सुनिश्चित करने के लिए बेहद ज़रूरी है। ServBay एक शक्तिशाली लोकल वेब डेवेलपमेंट एनवायरनमेंट है, जो अपने इंटीग्रेटेड वेब सर्वर (Caddy या Nginx) के ज़रिए वेबसाइट रीडायरेक्ट्स की आसान कॉन्फ़िगरेशन की सुविधा देता है।
परिचय
ServBay में, आपके द्वारा बनाए गए हर वेबसाइट का अलग वेब सर्वर कॉन्फ़िगरेशन फाइल के द्वारा प्रबंधन होता है। रीडायरेक्ट इन्हीं वेब सर्वर कॉन्फ़िगरेशन फाइल्स में बदलाव करके सेट किए जाते हैं। ServBay Caddy और Nginx - दोनों वेब सर्वर को सपोर्ट करता है, और आप अपने प्रोजेक्ट की ज़रूरतों या पसंद के अनुसार किसी एक का चयन कर सकते हैं। रीडायरेक्ट के लिए आम तौर पर आपको सोर्स URL पैटर्न, डेस्टिनेशन URL और रीडायरेक्शन टाइप (जैसे 301 परमानेंट रीडायरेक्शन या 302 टेम्पररी रीडायरेक्शन) सेट करने होते हैं।
उपयोग के सामान्य परिदृश्य
ServBay का इस्तेमाल करते हुए लोकल डेवेलपमेंट में वेबसाइट रीडायरेक्ट कॉन्फ़िगर करने के कुछ आम परिदृश्य:
- प्रोडक्शन एनवायरनमेंट सिमुलेशन: अपने लोकल सेटअप को प्रोडक्शन सर्वर पर लागू रीडायरेक्ट रूल्स के सामान बनाना।
- HTTPS की टेस्टिंग: सभी HTTP रिक्वेस्ट्स को HTTPS पर फोर्स रीडायरेक्ट करके सिक्योर कनेक्शन का परीक्षण।
- URL मानकीकरण:
www
के साथ डोमेन को बिनाwww
या इसके उलट रीडायरेक्ट करना ताकि URL एक जैसे रहें। - URL स्ट्रक्चर चेंज का प्रबंधन: वेबसाइट की पेज पाथ या स्ट्रक्चर बदलने पर पुराने URL को नए पर रीडायरेक्ट करना, ताकि ‘पेज नॉट फाउंड’ जैसी स्थानीय त्रुटियों से बचा जा सके।
- डोमेन माइग्रेशन की टेस्टिंग: पुराने डोमेन को नए डोमेन पर रीडायरेक्ट करने की सेटिंग का सिमुलेशन करना।
आवश्यक शर्तें
ServBay में वेबसाइट रीडायरेक्ट कॉन्फ़िगर करने के लिए आपको चाहिए:
- ServBay इंस्टॉल और रनिंग मोड में हो।
- ServBay में आपकी वांछित वेबसाइट पहले से ऐड और कॉन्फ़िगर की गई हो।
- ये जानना कि आपकी वेबसाइट Caddy या Nginx में से किस वेब सर्वर का इस्तेमाल कर रही है।
कॉन्फ़िगरेशन तरीका
ServBay हर वेबसाइट के लिए अलग वेब सर्वर कॉन्फ़िगरेशन फाइल देता है। आप इन फाइल्स को ServBay UI से ही आसानी से ऐक्सेस और एडिट कर सकते हैं।
वेबसाइट कॉन्फ़िगरेशन फाइल तक कैसे पहुंचे
- ServBay एप्लिकेशन खोलें।
- बायीं साइडबार में, वेबसाइट (Website) पर क्लिक करें।
- उस वेबसाइट को ढूंढें जिसमें आप रीडायरेक्ट सेट करना चाहते हैं, उसका नाम क्लिक करें और वेबसाइट डिटेल पेज पर जाएं।
- वेबसाइट डिटेल पेज पर, ‘कॉन्फ़िगरेशन फाइल’ या इसी से मिलती-जुलती ऑप्शन (ServBay वर्शन के अनुसार नाम या स्थान में अंतर हो सकता है) का चयन करें — इससे उस वेबसाइट के वेब सर्वर की कॉन्फ़िगरेशन फाइल खुल जाएगी।
इसके बाद, आपकी वेबसाइट Caddy या Nginx में से किस पर चल रही है उसके अनुसार नीचे दिए गए निर्देशों का पालन करें।
Caddy के साथ रीडायरेक्ट सेट करना
अगर आपकी वेबसाइट Caddy वेब सर्वर का उपयोग कर रही है, तो आपको उस वेबसाइट की Caddyfile एडिट करनी होगी। Caddyfile सिंटैक्स बहुत सीधा और पढ़ने में आसान है।
यहाँ Caddy रीडायरेक्ट के कुछ आम उदाहरण दिए गए हैं। इन कॉन्फ़िगरेशंस को अपनी वेबसाइट की Caddyfile में जोड़ें, आमतौर पर साइट पता ब्लॉक ({}
) के भीतर।
उदाहरण 1: HTTP से HTTPS पर रीडायरेक्ट
Caddy डिफॉल्ट रूप से HTTP से HTTPS रीडायरेक्शन को खुद ही हैंडल करता है, बशर्ते आपकी वेबसाइट पर SSL सर्टिफिकेट सेट हो (चाहे ServBay User CA से या ACME के माध्यम से)। यदि आपको मैन्युअल या कस्टमाइज्ड कंट्रोल चाहिए, तो redirect
निर्देश यूज़ करें:
bash
servbay.demo {
# ... अन्य कॉन्फ़िगरेशन ...
# सभी HTTP अनुरोधों को फोर्स करके HTTPS पर रीडायरेक्ट करें
# यदि आपने ServBay का SSL यूज किया है, तो आमतौर पर इसकी ज़रूरत नहीं
# लेकिन कस्टमाइज्ड रूल चाहिए तो ऐसा लिखें:
redir http://servbay.demo https://servbay.demo{uri} permanent
# ... अन्य कॉन्फ़िगरेशन ...
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
उदाहरण 2: नॉन-www से www पर रीडायरेक्ट
servbay.demo
को www.servbay.demo
पर रीडायरेक्ट करें:
bash
servbay.demo {
# servbay.demo की सभी रिक्वेस्ट्स को हमेशा के लिए www.servbay.demo पर रेडायरेक्ट करें
redir https://www.servbay.demo{uri} permanent
}
www.servbay.demo {
# www.servbay.demo की सामान्य वेबसाइट सेटिंग
root * /Applications/ServBay/www/your-servbay-demo-site
file_server
# ... अन्य कॉन्फ़िगरेशन ...
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
उदाहरण 3: www से नॉन-www पर रीडायरेक्ट
www.servbay.demo
को servbay.demo
पर रीडायरेक्ट करें:
bash
www.servbay.demo {
# www.servbay.demo की सभी रिक्वेस्ट्स को हमेशा के लिए servbay.demo पर रेडायरेक्ट करें
redir https://servbay.demo{uri} permanent
}
servbay.demo {
# servbay.demo की सामान्य वेबसाइट सेटिंग
root * /Applications/ServBay/www/your-servbay-demo-site
file_server
# ... अन्य कॉन्फ़िगरेशन ...
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
उदाहरण 4: खास पथ रीडायरेक्ट
पुराने /old-path
को नए /new-path
पर रीडायरेक्ट करें:
bash
servbay.demo {
# ... अन्य कॉन्फ़िगरेशन ...
# /old-path को हमेशा के लिए /new-path पर रीडायरेक्ट करें
redir /old-path /new-path permanent
# /deprecated/page.html को अस्थायी रूप से /new/page/ पर रीडायरेक्ट करें
redir /deprecated/page.html /new/page/ temporary
# ... अन्य कॉन्फ़िगरेशन ...
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
Caddy रीडायरेक्ट प्रकार
permanent
: 301 स्थायी रीडायरेक्ट, SEO के लिए उपयुक्त।temporary
: 302 अस्थायी रीडायरेक्ट।internal
: आंतरिक लिखाई, URL नहीं बदलता (असल में HTTP रीडायरेक्ट नहीं करता)।
Caddyfile सेव करने के बाद, ServBay अपने आप या बताएगा कि आपको Caddy कॉन्फ़िगरेशन को रीलोड करना है जिससे बदलाव लागू हो जाएं।
Nginx के साथ रीडायरेक्ट सेट करना
अगर आपकी वेबसाइट Nginx वेब सर्वर से चल रही है, तो आपको उस वेबसाइट की Nginx कॉन्फ़िगरेशन फाइल (आमतौर पर .conf
फाइल) बदलनी होगी। Nginx में return
या rewrite
का उपयोग करके रीडायरेक्ट सेट किए जाते हैं। return
सिंपल फिक्स्ड रीडायरेक्ट के लिए, जबकि rewrite
अधिक एडवांस्ड—रेगुलर एक्सप्रेशन आदि—सीनारियो के लिए प्रयोग होता है।
यहाँ Nginx रीडायरेक्ट के कुछ आम उदाहरण हैं। इन्हें अपनी वेबसाइट के Nginx .conf
फाइल में जोड़ें, सामान्यतः server
ब्लॉक के अंदर।
उदाहरण 1: HTTP से HTTPS रीडायरेक्ट
ServBay में, अगर वेबसाइट 80 और 443 दोनों पोर्ट्स पर चल रही है, तो 80 पोर्ट वाले server
ब्लॉक में रीडायरेक्ट जोड़ें:
nginx
server {
listen 80;
listen [::]:80;
server_name servbay.demo www.servbay.demo;
# सभी HTTP रिक्वेस्ट्स को HTTPS पर रीडायरेक्ट करें
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name servbay.demo www.servbay.demo;
# ... HTTPS वेबसाइट की अन्य सेटिंग्स ...
# ssl_certificate ...;
# ssl_certificate_key ...;
# वेबसाइट का रूट आदि
root /Applications/ServBay/www/your-servbay-demo-site;
index index.html index.htm index.php;
# ... अन्य location ब्लॉक ...
}
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
उदाहरण 2: नॉन-www से www पर रीडायरेक्ट
servbay.demo
को www.servbay.demo
पर रीडायरेक्ट करें:
nginx
server {
listen 80;
listen [::]:80;
server_name servbay.demo; # नॉन-www डोमेन सुनें
# सभी रिक्वेस्ट्स को www सबडोमेन पर रीडायरेक्ट करें, URI व प्रोटोकॉल बरकरार रखें
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; # www डोमेन सुनें
# ... 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
उदाहरण 3: www से नॉन-www पर रीडायरेक्ट
www.servbay.demo
को servbay.demo
पर रीडायरेक्ट करें:
nginx
server {
listen 80;
listen [::]:80;
server_name www.servbay.demo; # www डोमेन सुनें
# सभी रिक्वेस्ट्स को नॉन-www पर रीडायरेक्ट करें, URI व प्रोटोकॉल बरकरार रखें
return 301 $scheme://servbay.demo$request_uri;
}
server {
listen 80;
listen [::]:80;
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name servbay.demo; # नॉन-www डोमेन सुनें
# ... नॉन-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
उदाहरण 4: खास पथ रीडायरेक्ट (location
ब्लॉक और return
/rewrite
के साथ)
पुराने /old-path
को नए /new-path
पर रीडायरेक्ट करें:
nginx
server {
# ... अन्य server सेटिंग्स ...
location = /old-path {
# /old-path पर हमेशा के लिए /new-path पर रीडायरेक्ट करें
return 301 /new-path;
}
location /deprecated/ {
# /deprecated/ के तहत सभी रिक्वेस्ट्स को अस्थायी रूप से /archive/ में भेजें
rewrite ^/deprecated/(.*)$ /archive/$1 temporary;
}
# ... अन्य location ब्लॉक ...
}
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
Nginx रीडायरेक्ट प्रकार
301
: स्थायी रीडायरेक्ट302
: अस्थायी रीडायरेक्टredirect
: 302 के बराबरpermanent
: 301 के बराबर
Nginx .conf
फाइल सेव करने के बाद, ServBay अपने आप या निर्देश देगा कि Nginx कॉन्फ़िगरेशन को रीलोड करना है जिससे नए रूल्स लागू हो जाएं।
महत्वपूर्ण बातें
- कॉन्फ़िगरेशन फाइल बैकअप करें: कोई भी बदलाव करने से पहले मौजूदा फाइल का बैकअप रखना अच्छा है, ताकि कोई समस्या आने पर रिस्टोर किया जा सके।
- सिंटैक्स जांचें: फाइल ठीक सेव हो गई और सिंटैक्स सही है या नहीं—ServBay आम तौर पर बेसिक चेक करता है, लेकिन मैन्युअल चेक और भी बढ़िया है। Nginx के लिए, आप चाहें तो
nginx -t
कमांड से या ServBay टर्मिनल से जांच सकते हैं। - रीडायरेक्ट टेस्ट करें: सभी केस—www/नॉन-www, HTTP/HTTPS, खास पथ—ब्राउज़र में अच्छे से टेस्ट करें, यह सुनिश्चित करने के लिए कि रीडायरेक्ट सही काम कर रहा है।
- ब्राउज़र कैश: ब्राउज़र 301 स्थायी रीडायरेक्ट को कैश कर लेता है। बार-बार रूल्स बदलने पर रिज़ल्ट पुराने कैश से प्रभावित हो सकते हैं। ऐसे में कैश क्लियर करें या प्राइवेट/इन्कॉगनिटो या डेवलपर टूल्स से ‘डिसेबल कैश’ ऑन कर टेस्ट करें। टेम्पररी टेस्टिंग के लिए 302 रीडायरेक्ट यूज़ करें, फाइनल होने पर उसे 301 में बदल दें।
- ServBay रीलोड: फाइल बदलने के बाद, यह निश्चित करें कि ServBay ने वेब सर्वर की कॉन्फ़िगरेशन सफलतापूर्वक रीलोड की है। ServBay अमूमन खुद ही ऐसा करता है या UI में रिफ्रेश/बटन देता है।
सामान्य प्रश्न (FAQ)
प्रश्न: मैंने रीडायरेक्ट सेट किया लेकिन ब्राउज़र रीडायरेक्ट नहीं कर रहा, इसका कारण?
उत्तर: कुछ संभावित कारण हो सकते हैं:
- कॉन्फ़िगरेशन फाइल में गलती: देखें कि आपने फाइल सही एडिट व सेव की है या नहीं।
- ServBay ने नई कॉन्फ़िगरेशन लोड नहीं की: सुनिश्चित करें कि आपकी नई सेटिंग्स ऐक्टिव हुई हैं।
- ब्राउज़र कैश: कैश क्लियर करें या प्राइवेट/इन्कॉगनिटो मोड में चेक करें।
- URL मैच समस्या: अपनी रीडायरेक्ट रूल्स में स्रोत URL/पथ और एक्सेस किए जा रहे URL का सटीक मिलान चेक करें।
प्रश्न: 301 और 302 रीडायरेक्ट में क्या फर्क है? लोकल डेवेलपमेंट में कौन सा प्रयोग करें?
उत्तर: 301 स्थायी रीडायरेक्ट होता है, ब्राउज़र और सर्च इंजन को बताता है कि संसाधन का नया पता स्थाई है—यह SEO के लिए भी बेहतर है। 302 अस्थायी रीडायरेक्ट होता है। लोकल टेस्टिंग/डिबगिंग के लिए 302 उपयोगी है क्योंकि ब्राउज़र इसे कैश नहीं करता। अगर आप स्थायी रीडायरेक्शन (जैसे डोमेन माइग्रेशन) का परीक्षण कर रहे हैं तो 301 अधिक उपयुक्त है।
प्रश्न: मैंने फाइल एडिट की लेकिन ServBay में एरर आ रही या वेब सर्वर चालू नहीं हो रहा, क्या करें?
उत्तर: अमूमन यह कॉन्फ़िगरेशन फाइल में सिंटैक्स एरर के कारण होता है। अपने किए गए बदलाव को ध्यान से फिर से जांचें—Caddyfile या Nginx की सिंटैक्स गाइड के हिसाब से सुधार करें। ServBay लॉग्स में डिटेल्ड एरर होंगे, वहाँ से समस्या पहचान सकते हैं।
सारांश
ServBay में वेबसाइट रीडायरेक्ट कॉन्फ़िगर करना लोकल डेवेलपमेंट में आम प्रक्रिया है, जिसमें बस सीधे-सीधे Caddy या Nginx की कॉन्फ़िगरेशन फाइल में बदलाव करना पड़ता है। चाहें आप प्रोडक्शन सिमुलेट करें, HTTPS टेस्ट करें, या URL स्ट्रक्चर बदलें—वेब सर्वर का रीडायरेक्शन सिंटैक्स (redir
Caddy के लिए, return
/rewrite
Nginx के लिए) समझना आपको ये काम तेज़ी से करने में मदद करेगा। सेटअप के बाद अच्छी तरह टेस्टिंग करें और ब्राउज़र कैश के असर का ध्यान रखें।