मैक OSX पर एक होस्टनाम को कैसे उपनाम दें


24

संक्षेप में, मैं एक ब्राउज़र खोलना और खोलना चाहूंगा local.example.comलेकिन यह वास्तव में लोड होता हैhttp://localhost/path/to/example.com/

मैं मैक OSX 10.5 का उपयोग कर रहा हूं, और टर्मिनल के साथ अपने हाथ गंदे होने से डरता नहीं हूं :)

मैं अपने स्थानीय सर्वर के रूप में अपाचे का उपयोग करता हूं।


क्या आप बाहरी दुनिया में वेब पेजों की सेवा करने की कोशिश कर रहे हैं, या आप केवल स्थानीय .example.com URL की अपेक्षा कर रहे हैं कि वह आपकी मशीन के लिए काम करे?
स्टीफन जेनिंग्स

सिर्फ अपनी मशीन के लिए। यह जो कुछ भी वेबसाइटों पर मैं काम कर रहा हूं, उसकी स्थानीय फ़ाइल की पूरी फाइलपथ को याद करते हुए थकाऊ टाइपिंग हो जाती है।
ऑस्टिन हाइड

जवाबों:


32

बस स्पष्ट होने के लिए, मैं इस धारणा पर आधारित हूं कि आप वास्तव में http://local.example.com शाब्दिक वेब पेज http: //localhost/path/to/example.com को लोड करना चाहते हैं । दूसरे शब्दों में, यह केवल इस मशीन के लिए काम करेगा। यदि, दूसरी ओर, आप अपने मैक ओएस एक्स मशीन का उपयोग करके बाहरी दुनिया के लिए वेब पृष्ठों की सेवा करने की कोशिश कर रहे हैं, तो यह एक अलग सवाल है।

सबसे पहले, अपनी /etc/hostsफ़ाइल में एक नई पंक्ति जोड़ें :

127.0.0.1   local.example.com

आप इसे कमांड चलाकर कर सकते हैं sudo nano /etc/hosts, इस पंक्ति को अंत तक जोड़ सकते हैं , फिर इसे Ctrl-X, Y दबाकर सहेज सकते हैं।

आप http://local.example.com के पते को http: //localhost/path/to/example.com/ पर वास्तव में कैसे अनुप्रेषित / परिवर्तित करते हैं, यह निर्भर करता है कि आप किस वेब सर्वर का उपयोग कर रहे हैं। यह मानते हुए कि आप अपाचे का उपयोग कर रहे हैं:

यदि आप उपयोगकर्ता के ब्राउज़र को local.example.com दिखाना चाहते हैं, तो आप एक virual host सेट करना चाहते हैं और आपकी httpd.confफ़ाइल में निम्न जैसा कुछ होना चाहिए:

<VirtualHost *:80>
ServerName local.example.com
DocumentRoot /www/path/to/example.com
</VirtualHost>

यदि, दूसरी ओर, आप चाहते हैं कि वेब ब्राउजर का लोकेशन बार http: //localhost/path/to/example.com/ में बदले, तो इसके बजाय आप redirect बनाने के लिए mod_rewrite का उपयोग करना चाहेंगे :

RewriteCond %{HTTP_HOST}   !^local\.example\.com [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteRule ^/?(.*)         http://localhost/path/to/example.com/$1 [L,R,NE]

यह हालांकि एक निश्चित रास्ते पर नहीं जाएगा
जॉन टी

@ आप सही हैं, तय हो गया है।
स्टीफन जेनिंग्स

यदि वांछित "उर्फ" थे https://localhost/path/to/example.com, अर्थात , क्या यह समाधान अभी भी लागू HTTPSनहीं HTTPहोगा?
केविन मेरेडिथ

@KevinMeredith यह संभव नहीं है। ब्राउज़र को यह जानना होगा कि यह HTTPS की बात कर रहा है। यह HTTP 302 रीडायरेक्ट के साथ संभव हो सकता है, जिसे Apache में कहा जाता है Redirecthttpd.apache.org/docs/2.4/mod/mod_alias.html#redirect
बीटल

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