पथ के साथ किसी अन्य URL पर रीडायरेक्ट करने के लिए DNS का उपयोग करना [बंद]


120

मैं DNS के माध्यम से एक डोमेन को दूसरे पर पुनर्निर्देशित करने की कोशिश कर रहा हूं।

मुझे पता है कि CNAME के ​​उपयोग से यह पॉसिबल है।

www.proof.com IN CNAME www.proof-two.com.

मुझे एक पथ के साथ पुनर्निर्देशन की आवश्यकता है। जब कोई टाइप करता हैwww.proof.com , तो इसे उन्हें ले जाना चाहिएwww.proof-two.com/path/index.htm

मुझे पता है कि यह वेब सर्वर सुविधाओं का उपयोग करके किया जा सकता है, लेकिन मुझे DNS पुनर्निर्देशन की आवश्यकता है।

क्या यह संभव है?


यदि आप Google डोमेन का उपयोग कर रहे हैं, तो आप इसके "डोमेन फॉरवर्ड" का उपयोग बाएं मेनू -> वेबसाइट पर कर सकते हैं।
जॉन_ज

जवाबों:


136

नहीं, आप जो पूछते हैं वह संभव नहीं है। DNS नाम रिज़ॉल्यूशन सिस्टम है और HTTP के बारे में कुछ नहीं जानता है।


93

यदि आप AWS का उपयोग करते हैं, तो एक अनुप्रेषित की तरह

mail.foo.com --> mail.google.com/a/foo.com

निम्नानुसार सेटअप किया जा सकता है:

  1. s3 में, एक खाली बाल्टी "mail.foo.com" बनाएँ
  2. अंडर प्रॉपर्टीज -> स्टेटिक वेबसाइट होस्टिंग, "mail.google.com/a/foo.com: सभी अनुरोधों को रीडायरेक्ट करें"
  3. मार्ग53 में, एक रिकॉर्ड बनाएं "mail.foo.com"
  4. "उपनाम" को सक्षम करें, और "mail.foo.com" बाल्टी में उपनाम लक्ष्य निर्धारित करें

शुद्ध DNS समाधान नहीं है, लेकिन यह काम करता है;)

लेकिन इस बात से अवगत रहें, रीडायरेक्ट सभी URL मापदंडों को छोड़ देता है जैसे: ...; param1 = value1 & param2 = value2


3
यह AWS का उपयोग करने वाले किसी भी व्यक्ति के लिए एक महान और बहुत उपयोगी उत्तर है। धन्यवाद! मीठा वर्कअराउंड
केन

6
नोट करने के लिए महत्वपूर्ण: होस्टनाम से मिलान करने के लिए बाल्टी का नाम दिया जाना चाहिए। देखें serverfault.com/a/584714/105720
जॉर्डन फ़ेल्डस्टीन

1
यह एक डायरेक्टरी के रीडायरेक्ट के रूप में काम करता है, लेकिन किसी विशिष्ट पेज पर नहीं। यदि आप "www.example.com/foo/bar/baz.html" AWS के सभी अनुरोधों को "www.example.com/foo/bar/baz" में बदलकर URL में "a" / "" सहायक रूप से "सहायता" करेंगे, तो आप इसे पुनर्निर्देशित करेंगे। .html / "और 404 त्रुटि लौटा रहा है।
अर्ल रूबी

34

मुझे लगता है कि यह एक पुराना धागा है, लेकिन एफडब्ल्यूआईडब्ल्यू, किसी और को ऐसा करने के लिए रास्ता खोज रहा है।

हालांकि डीएनएस यूआरएल के पथ भाग को नहीं समझता है, यह उप-डोमेन को समझेगा, इसलिए इसके बजाय:

www.AME.com CNAME में www.proof-two.com/path/index.htm

आप उपयोग कर सकते हैं:

www.AME.com में CNAME proof.proof-two.com

इसके बाद आप जहाँ भी प्रूफ-two.com को होस्ट करते हैं, वहाँ जाएँ और उसे प्रूफ प्रूफ के लिए सेट करें ।proof-two.com पर www.proof-two.com/path/index.htm।

~ एक बिल्ली की त्वचा के लिए हमेशा एक से अधिक तरीके होते हैं


2
यह एक बेकार निर्माण की तरह लगता है, इसके बजाय www.proof-two.com/path/index.htm को proof.proof-two.com पॉइंट बनाने के बजाय, आप बस www.roof.com बिंदु बना सकते हैं, इसके लिए कोई ज़रूरत नहीं है अतिरिक्त DNS रिकॉर्ड।
मिकिएल

12
यदि आप proof-two.comवेब सर्वर तक आसान पहुँच रखते हैं तो @Michiel यह एक बेकार निर्माण की तरह है। कभी-कभी बड़ी कंपनियां (और नौकरशाही) सब कुछ बहुत जटिल बना देती हैं जितना कि यह हो सकता है।
क्लेगॉक्स

1
"तब आप जहाँ भी प्रूफ-two.com होस्ट करते हैं, उसे प्रूफ करने के लिए सेट करते हैं। उसे प्रूफ करें। www.pro-two.com/path/index.htm"
user2060451

17

मेरे पास एक निजी परियोजना है जो इस मुद्दे को हल करने में आपकी मदद कर सकती है। यह एक खुला स्रोत पुनर्निर्देशित समाधान है जो आपको अपने डोमेन को सिर्फ अपनी डीएनएस सेटिंग्स को बदलने के लिए पुनर्निर्देशित करने की अनुमति देता है। परियोजना के लिंक करें: https://redirect.center/

URL मानकों को ध्यान में रखते हुए www.proof-two.com पर www.proof.com को रीडायरेक्ट करने के लिए, बस अपने www DNS प्रविष्टि को proof.com पर सेट करें:

CNAME में www.proof.com www.proof-two.com.opts-uri.redirect.center।


सवाल केवल एक डोमेन के लिए नहीं बल्कि एक पूर्ण पथ यूआरएल पर पुनर्निर्देशित करने के बारे में था।
टोनी चिबोकास

2
यह अभी भी एक पूर्ण पथ नहीं है
टोनी चिबुआस 21

2
एक पथ को सेवा के ".opts-slash" के माध्यम से समर्थित किया जा सकता है। समारोह। रीडायरेक्ट jobs.my-domain.com को my-domain.com/jobs पर अपने DNS ज़ोन को निम्नानुसार कॉन्फ़िगर करें: होस्ट रिकॉर्ड: कार्य प्रकार: CNAME To: www.my
डेविड टर्नर

1
यह वास्तव में अच्छा और सरल है यदि आपका रजिस्ट्रार पुनर्निर्देशन प्रदान नहीं करता है - भयानक!
लुका स्टील २

1
यह पूर्ण है! मैंने कुछ इस तरह से अस्तित्व में लिया, लेकिन इसे ढूंढ नहीं पाया (उन्हें अपने एसईओ पर काम करने की आवश्यकता है मुझे लगता है)।
मैट डॉज

11

वास्तव में यह redirect.center के साथ आसान है

यदि आप एक CNAME बनाना चाहते हैं:

www.AME.com CNAME में www.proof-two.com/path/index.htm

रीडायरेक्ट का उपयोग कर अपने CNAME को विहित मोड के रूप में देखें:

CNAME में www.proof.com www.proof-two.com.opts-slash.path.opts-slash.index.htm.redirect.center।

अब यदि आप https वेबसाइट पर पुनर्निर्देशित करना चाहते हैं तो आप इस विकल्प को जोड़ सकते हैं:

CNAME में www.proof.com www.proof-two.com.opts-slash.path.opts-slash.index.htm.opts-https.redirect.center।

अब आप अपने भाग्य पृष्ठ में स्लैश के साथ विहित मोड के साथ एक CNAME बना सकते हैं।


मैं यह कोशिश कर रहा हूं, लेकिन यह काम नहीं करता है। यह सब कुछ उपयोगकर्ताओं को रीडायरेक्ट की साइट पर पुनर्निर्देशित करने के लिए पुनर्निर्देशित करता है।
रेनन

क्या आप अपने CNAME रजिस्टर को कॉपी कर सकते हैं? क्या आप अपनी पुनर्निर्धारित साइट को भी कॉपी कर सकते हैं?
अल्वारो एगुइलर

1
@ रेनन सुनिश्चित करें कि स्रोत डोमेन DNS में मौजूद है और इसे redirect.center सर्वर द्वारा देखा जा सकता है; ब्राउज़र में target-domain.com.redirect.center पर नेविगेट करने से भी काम नहीं चलेगा। स्पष्टीकरण देखें: github.com/udleinati/redirect.center/issues/…
redfish

11

संपादित करें

ऐसा लगता है कि यह मेरा प्रदाता (OVH) है जो अपने बुनियादी ढांचे के भीतर उस तरह के पुनर्निर्देशन की अनुमति देता है।

देखें: https://docs.ovh.com/gb/en/domains/redirect-domain-name/

मैं जवाब देने के लिए नीचे रख रहा हूँ, लेकिन यह कोई सार्थक जानकारी प्रदान नहीं करता है।

मूल उत्तर

मैंने एक TXT रिकॉर्ड का उपयोग किया था।

को रीडायरेक्ट foo.bar.comकरने के लिए foo2.bar.com/path, बस foo IN TXT "1|foo2.bar.com/path"अपने bar.comDNS ज़ोन में जोड़ें ।

यह url पथ और पैरामीटर भी रखता है। इसलिए यदि आप एक्सेस करने का प्रयास करते हैं foo.bar.com/hello?foo=bar, तो आपको पुनः निर्देशित किया जाएगा foo2.bar.com/path/hello?foo=bar


6
क्या आप इसे थोड़ा और मांस दे सकते हैं? क्या आपके पास TXT रिकॉर्ड का उपयोग करने का कोई संदर्भ है?
जोसिया

क्या इससे url पैरामीटर भी बरकरार रहेगा?
andreas

1
जांच के बाद, ऐसा लगता है कि ओवीएच मेरे लिए ऐसा करता है। देखें: ovh.com/fr/g1339.redirection-nom-de-domaine (fr)। मैं अपना जवाब अपडेट करूंगा।
गेब्रियल

10

मूल प्रश्न का उत्तर देने के लिए, नहीं, जो आप चाहते हैं वह केवल DNS का उपयोग करना संभव नहीं है (जैसे कि सभी ने कहा है)। पहले से बताई गई प्रत्येक चीज के अलावा, एक अन्य विकल्प URL पुनर्निर्देशन सेवा का उपयोग करना है। इस प्रकार की सेवाएँ आपको अपनी आवश्यकताओं के आधार पर कई अलग-अलग प्रकार के URL पुनर्निर्देशित करने में सक्षम कर सकती हैं। उदाहरण के लिए:

  1. एक डोमेन एपेक्स को www पर अग्रेषित करें। उपडोमेन या इसके विपरीत
  2. किसी एकल गंतव्य के लिए डोमेन नामों के संग्रह को अग्रेषित करें (डोमेन की गलतियाँ अग्रेषित करने के लिए उपयोगी, पुरानी कंपनी के नाम आदि)
  3. विशिष्ट डोमेन नामों को गहराई से जुड़े पृष्ठों पर अग्रेषित करें (जैसे कि ओपी क्या चाहता है)

एक सेवा जो ऐसा करती है वह है ईज़ीरेडिर । पूर्ण प्रकटीकरण: मैंने EasyRedir विकसित किया। हालांकि वहाँ निश्चित रूप से अन्य विकल्प हैं, इसलिए मैं आपको चारों ओर देखने के लिए प्रोत्साहित करता हूं।


5

DNS URL के पथ भाग को पुनर्निर्देशित नहीं करेगा, इसलिए यह संभव नहीं होगा।

जोड़ा जा रहा है

www.proof.com IN CNAME www.proof-two.com

www.proof.com से www.proof-two.com तक सीधी पहुंच होगी, जहां आपको उपयोगकर्ताओं को उचित पृष्ठ पर सीधे भेजने के लिए वेब सर्वर कॉन्फ़िगरेशन का उपयोग करना होगा।


4

इस समस्या का मेरा समाधान बहुत सरल और सीधे आगे था। आप सभी की जरूरत है एक IIS सर्वर डोमेन के अंदर चल रहा है।

DNS में CNAME को IIS सर्वर को इंगित करने के लिए, IIS में होस्ट नामों का उपयोग करके एक ही IIS सर्वर पर कई साइटों को हल करने के लिए। मैं एक ही IIS सर्वर का उपयोग करके कुछ उप डोमेन को बाहरी साइटों पर भेज रहा हूँ।

फिर उस साइट के लिए IIS सेटअप सेटअप पुनर्निर्देशन में आपके ऑफ़साइट साइट / पथ पर जाने के लिए, मेरे मामले में यह हमारी होस्टेड कैटलॉग थी जिसे मैं जाने के लिए कैटलॉग .ourdomain.com चाहता था। यहाँ से सभी ट्वीकिंग IIS में की जाती है। अनाम प्रमाणीकरण सक्षम करने के लिए सुनिश्चित करें ताकि ट्रैफ़िक अवरुद्ध न हो।


3

मुझे लगता है कि आपके पास यह परिदृश्य होगा: आपके पास विभिन्न वेबसाइटों की मेजबानी करने वाला एक अनूठा वेबसर्वर है, प्रत्येक को एक अलग डोमेन द्वारा प्रस्तुत किया जाना चाहिए:

हां, तो page1.html द्वारा पेश की जानी चाहिए www.customer1.com और इतने पर।

  1. example.com dns सर्वर (आपका वेबसर्वर) के अंदर एक उपडोमेन बनाएँ :

    customer1.example.com

  2. अपने अपाचे वर्चुअल सर्वर सेटिंग्स में, उपडोमेन को उस निर्देशिका में मैप करें, जिसमें आपके ग्राहक # 1 के लिए वेब साइट शामिल है, जैसे:

<VirtualHost *:80> SetEnv PAGE_ID "customer1" ServerName customer1.example.com ServerAlias www.customer1.com DocumentRoot /your/local/path/webserver/customer1 </VirtualHost> कृपया "ServerAlias" के लिए मूल्य पर ध्यान दें, यह अगले चरण के लिए महत्वपूर्ण है-

इस बिंदु पर, आपको अपने ग्राहक 1 वेबसाइट पर ब्राउज़ करके सक्षम होना चाहिए:

customer1.example.com

  1. Customer1.com के लिए DNS सेटिंग्स में आपको CNAME रिकॉर्ड बनाना चाहिए:

    CNAME = www LOCATION = customer1.example.com

अब, आप उपयोग करने में सक्षम हैं: www.customer1.com।


3

एक संबंधित काम नीचे सभी निष्कर्ष निकाला:

संकट:

http://a.com/p1/p2.html आज http://B.com/p1/p2.html पर जाना चाहिए
, लेकिन बाद में जब मैन्युअल रूप से / स्वचालित रूप से कॉन्फ़िगर किया जाता है, तो वही
http://a.com/p1 /p2.html पर जाना चाहिए http://C.com/p1/p2.html पर

उत्तर:

DNS - नाम को आईपी पते में परिवर्तित करता है

हालाँकि यह बहुत सारे रीडायरेक्ट कर सकता है, हमेशा आउटपुट आईपी एड्रेस होता है DNS URL के पथ या प्रोटोकॉल भाग को नहीं समझता है, केवल डोमेन भाग को समझता है, अर्थात, केवल IP पते में कनवर्ट किया जाता है, इसलिए जब आप http को हिट करते हैं : //a.com/p1/p2.html को http://152.132.121.11/p1/p2.html में बदला जा सकता है यदि आप DNS में गलत कॉन्फ़िगर करते हैं, तो आपको 152.132.121.11 ( http: //152.132 नहीं) मिलेगा। 121.11 / p1 / P2.html ), इसलिए आपको कुछ 400s त्रुटि (400, 403, आदि) मिलेगी।

पुनर्निर्देशन - यह http://a.com/p1/p2.html http://b.com/p1/p2.html में परिवर्तित किया जा सकता है

GET, POST जैसी सभी विधियां किसी भी हेडर और बॉडी के साथ काम कर सकती हैं, लेकिन इसमें एक वेब सर्वर शामिल है, यह विफलता का बिंदु हो सकता है, इसलिए स्केलेबिलिटी और उपलब्धता प्रमुख होगी

यदि आप AWS पर हैं , तो रूट 53 -> एपीआई गेटवे संभव है, हालांकि कस्टम डोमेन, आंतरिक रूप से क्लाउड फ्रंट का उपयोग कर रहा है

यह अमेज़ॅन प्रमाणन प्रबंधक, एडब्ल्यूएस गेटवे कस्टम डोमेन और रूट 53 के साथ संभव है, एसीएम पर हमें-पूर्व -1 प्रतिबंध पर ध्यान दें

आशा है कि किसी की मदद करता है


2

जबकि जैसा कि लगभग सभी ने पहले ही कहा था - सिर्फ DNS का उपयोग करना असंभव है। वर्कअराउंड के रूप में मैं NGINX ( http://nginx.org/en/docs/http/request_processing.html) आज़माना चाहूंगा ) ।

TL, DR - NGINX में आप कई वर्चुअल सर्वर बना सकते हैं जो सर्वर के नाम के आधार पर आपके अनुरोध को रीडायरेक्ट कर सकते हैं।

पूर्व। http://first.my-server.com A को जगह देने के लिए पुनर्निर्देशित करता है और http://second.my-server.com B को स्थान देने के लिए पुनर्निर्देशित करता है, जबकि दोनों एक ही भौतिक सर्वर को साझा करते हैं।


0

यदि उपयोगकर्ता एक विशिष्ट डोमेन नहीं दूसरे का अनुरोध कर रहा है, तो आप सब-फोल्डर को फिर से लिखने के लिए htaccess rewrite mod का उपयोग कर सकते हैं।


-1

निश्चित रूप से पुनर्निर्देशित करना संभव है, निम्नलिखित चाल के साथ:

एक नया मानक प्राथमिक क्षेत्र बनाएं इसे उसी काल्पनिक नाम के रूप में नाम दें जिसे आप यह सुनिश्चित करना चाहते हैं कि यह काल्पनिक नाम किसी भी AD DNS नाम से अलग है, निम्न प्रविष्टियों के साथ एक रिकॉर्ड बनाएं:

खाली ....................... एक ......................... ... आईपी-addr -2

www ......................... एक ....................... ..... आईपी-addr -2

हमारे पास जो कुछ भी है वह पुनर्निर्देशन है, अनिवार्य रूप से। एक मान्य URL मौजूदा DNS प्राथमिक DNS ज़ोन के आधार पर हल करेगा। एक काल्पनिक URL को ip-addr-2 पर पुनर्निर्देशित किया जाएगा। यह महत्वपूर्ण है कि इस प्रविष्टि का नाम रिक्त है, इसलिए यह रिकॉर्ड में अगली प्रविष्टि तक गिर जाएगा और ip-addr-2 पर पुनर्निर्देशित होगा


-4

सभी ने पहले ही यह कहा है, और मैं आपको केवल एक सेवा का दूसरा विकल्प देना चाहता हूं जो आपकी सहायता कर सके। www.301redirect.it एक मुफ्त सेवा है जो आपके डोमेन (वाइल्डकार्ड के साथ) को किसी भी गंतव्य यूआरएल पर पुनर्निर्देशित कर सकती है।

मैं एक प्रकटीकरण भी जोड़ना चाहता हूं: मैं इस सेवा के पीछे डेवलपर हूं और वहां एक अन्य विकल्प है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.