2009-04-28 10 views
13

स्टैक ओवरफ़्लो (और अन्य वेबसाइट्स) यूआरएल के हिस्से के रूप में दर्ज होने पर 'www' उपसर्ग को कैसे हटाता है?अपनी वेबसाइट से डब्ल्यूडब्ल्यूडब्ल्यू उपसर्ग हटाएं

क्या यह एक रीडायरेक्ट, एक पुनर्लेखन या पूरी तरह से कुछ और है?

अद्यतन: मैं विशेष रूप से आईआईएस 6

+0

वास्तव में सर्वर आप के बारे में जानना चाहते हैं पता करने के लिए एक उपयोगी उत्तर के लिए आप में मदद मिलेगी। –

+0

ओह, अच्छा बिंदु, मैंने इसे जोड़ा है, धन्यवाद। – Rob

+4

यह जानना महत्वपूर्ण है कि यदि आप www (या कुछ अन्य सबडोमेन) का उपयोग नहीं करते हैं तो सभी कुकीज़ प्रत्येक सबडोमेन एमडीडी में जमा की जाएंगी, इसलिए आप स्थिर सामग्री की सेवा के लिए कुकी-कम सबडोमेन नहीं पाएंगे जिससे इस प्रकार कम हो जाता है ब्राउज़र और सर्वर के बीच आगे और पीछे भेजे गए डेटा की मात्रा। कुछ आप बाद में खेद हो सकता है। http://twitter.com/codinghorror/statuses/1637428313 –

उत्तर

10

Fiddler ऊपर फायरिंग, हम देख सकते हैं कि एक साथ सर्वर प्रतिक्रियाएं "301 स्थायी रूप से स्थानांतरित" स्थिति और यह http://stackoverflow.com को दर्शाता है। चूंकि StackOverflow को Windows 2k8 IIS7 पर होस्ट किया गया है, इसलिए उन्होंने इस रीडायरेक्ट को सीधे आईआईएस 7 में स्थापित किया है।

FYI करें:

a list of HTTP statuses

आप एक .NET डेवलपर आप "Respose.Redirect" पता हो सकता है कर रहे हैं, यह एक 302 वस्तु ले जाया गया स्थिति पैदा करता है। इस मामले में 301 स्टेटस कोड जैसे सर्च इंजन बेहतर हैं, क्योंकि उन्हें पता है कि उन्हें भविष्य में www.stackoverflow.com पर वापस नहीं आना चाहिए।

4

रीडायरेक्ट के संदर्भ में जानना चाहते हैं। उप-डोमेन "www.stackoverflow.com" बस "stackoverflow.com" पर रीडायरेक्ट करेगा।

+1

पुनर्निर्देशन कैसे किया जाता है: कोड, डीएनएस या सर्वर? – Rob

+0

दिया गया है कि हम यहां एसओ के बारे में बात कर रहे हैं, एक एमवीसी ऐप, आईआईएस पर चल रहा है, सबसे अधिक संभावना है कि एक प्रोग्रामेटिक रीडायरेक्ट मैं कहूंगा। अगला DNS अपाचे स्क्रिप्ट्स लागू नहीं होती हैं यदि यह आपकी रुचि रखने वाली आईआईएस है। –

12

अपाचे पर, यह (.htaccess फ़ाइल के अंदर) इस तरह दिखता है:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC] 
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L] 
5

आप इसे कई तरीकों से कर सकते हैं, mod_rewrite का उपयोग कर और पुन: निर्देशित हो मेरी पसंदीदा है। कुछ इस तरह:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^www.cuenca.co$ [NC] 
RewriteRule ^(.*)$ http://cuenca.co/$1 [R=301,L] 
+0

धन्यवाद, यह अपाचे सर्वर पर मेरे लिए काम कर रहा है :) –

12

यह करने के लिए एक आसान तरीका है अपाचे "पुन: निर्देशित" निर्देशों का उपयोग किया जाता है:

<VirtualHost *:80> 
    ServerName www.example.com 
    Redirect permanent/http://example.com/ 
</VirtualHost> 

<VirtualHost *:80> 
    ServerName example.com 
    # remainder of server configuration goes here 
</VirtualHost> 

रीडायरेक्ट निर्देश स्वचालित रूप से URL में / निम्नलिखित कुछ भी बरकरार रखता है। मुझे यह विधि रीवाइट विधि से पढ़ने और समझने में आसान लगता है।

+0

धन्यवाद। यह पुनर्लेखन विधि की तुलना में बहुत साफ है और यह बहुत अच्छी तरह से काम करता है। – Kevin

0

यह एक लंबा सफर तय कर रहा है, लेकिन जहां तक ​​मुझे पता है कि यह एक DNS सेटअप है। मुझे लगता है कि आपको एक HOST पता निर्दिष्ट करने की आवश्यकता नहीं है (WWW होस्ट का नाम है (या कंप्यूटर/क्लस्टर ...) कि साइट पर/अंदर रहता है।)।

मुझे लगता है कि आप इसे सभी होस्ट को डिफ़ॉल्ट होस्ट को भेजने के लिए सेट अप कर सकते हैं।

100% निश्चित नहीं है, लेकिन जांचें कि DNS के साथ क्या संभव है।

आशा है कि कम से कम आपको सही दिशा में जाने में मदद मिलती है या कम से कम मिलती है।

1

आपको अपने वेब सर्वर पर इंगित एक डिफ़ॉल्ट डीएनएस प्रविष्टि की आवश्यकता है।

पिंग साइट.com और आईपी सत्यापित करें वेबसर्वर को इंगित कर रहा है, अगर आपको डिफ़ॉल्ट DNS प्रविष्टि जोड़ने की आवश्यकता नहीं है।

एक बुनियादी सेटअप के लिए

:

आप www.site के hostheader साथ मेजबान हेडर http://www.visualwin.com/host-header/

1 साइट बनाएं जोड़ना होगा।कॉम

होम निर्देशिका टैब में, http://site.com

को एक स्थाई रीडायरेक्ट के लिए सेट site.com

के एक मेजबान के हेडर के साथ एक 2 साइट बनाएं आप www.site.com/file चाहते हैं। साइट.com/file.html पर रीडायरेक्ट करने के लिए एचटीएमएल आपको ISAPI_Rewrite जैसी कुछ उन्नत सेटअप की आवश्यकता होगी या इसे करने के लिए कस्टम 404 पेज का उपयोग करें।

0

आईआईएस के लिए तुलनीय यूआरएल रीराइटर के साथ आप अपाचे के लिए mod_rewrite क्या कर सकते हैं। एक अच्छा IIRF है। नियम है:

RewriteCond %{HTTP_HOST} ^www\.example\.com$  [I] 
RedirectRule ^(.*)$  http://example.com/$1 [R=301] 

तुम भी तो जैसे होस्ट नाम वाइल्डकार्ड कर सकते हैं:

RewriteCond %{HTTP_HOST} ^(.+)\.example\.com$ [I] 
RedirectRule ^(.*)$  http://example.com/$1 [R=301] 

IIRF उपयोग करने के लिए स्वतंत्र है।

0

अपाचे

लिए
<VirtualHost *:80> 
ServerName yourdomain.tld 
ServerAlias www.yourdomain.tld 
+0

स्टैक ओवरफ़्लो में आपका स्वागत है! केवल कोड के बजाय, अपने उत्तर में कुछ स्पष्टीकरण जोड़ने पर विचार करें। – starsplusplus

संबंधित मुद्दे