_default_ VirtualHost पोर्ट 80 पर ओवरलैप करता है


10

मैंने अपने apache2 conf फ़ाइल में नीचे के रूप में 2 वर्चुअल होस्ट जोड़े हैं:

<VirtualHost *:80>
    DocumentRoot /var/www/html/site1
    ServerName www.site1.com
    ServerAlias site1.com
</VirtualHost>


<VirtualHost *:80>
    DocumentRoot /var/www/html/site2
    ServerName www.site2.com
    ServerAlias site2.com
</VirtualHost>

फिर मुझे अपाचे को फिर से शुरू करने के बाद त्रुटि मिली:

[चेतावनी] डिफ़ॉल्ट VirtualHost पोर्ट 80 पर ओवरलैप करता है, पहले की मिसाल है

Google को खोजा और उन्होंने कहा कि नीचे की लाइन को अनकम्प्लिमेंट करें, इसलिए मैंने किया:

NameVirtualHost *:80

पुनरारंभ करें, और अब मुझे त्रुटि नहीं मिलती है, लेकिन दोनों साइट पहले साइट पर जाती हैं।

Centos5 चल रहा है। मैं इस समस्या को कैसे हल करूं?

जवाबों:


13

आप निश्चित रूप से NameVirtualHost को अपूर्ण चाहते हैं। यह आपके सर्वर को अलग-अलग वर्चुअल होस्ट्स पर सर्वर करने के लिए कहता है, जो उस तक पहुंचने के लिए इस्तेमाल किए गए डोमेन नाम पर आधारित हैं। इसीलिए जब आप इसे हटाते हैं तो आप सभी अनुरोध पहली साइट पर जाते हैं।


1
हाँ, मैंने ऐसा किया है और यह अभी भी काम नहीं करता है।
डेविड

क्या यह ठीक से site2.com की सेवा भी नहीं करता है? यह वास्तव में ऐसा लगता है कि आपकी चेतावनी केवल यह कह रही है कि आपका पहला वर्चुअल्स्ट बेजोड़ नामों के लिए डिफ़ॉल्ट साइट है। जो अनिवार्य रूप से सिर्फ वर्चुअल होस्ट कैसे काम करता है।
क्रिस्टोफर कारेल

1
उस रेखा के अनियोजित होने के बाद, मुझे चेतावनी नहीं मिलती है और दोनों साइटें अभी भी साइट
डेविड

क्या यह संभव है कि आपके ब्राउज़र ने साइट 2 के साइट 2 के अंतर्गत सामग्री को अभी कैश किया है? अपने कैश को साफ़ करने या एक उचित ताज़ा करने का प्रयास करें। (ctrl + F5)
क्रिस्टोफर कारेल

1

मैं सीडब्ल्यूपी के साथ इस समस्याओं को पहले ही ठीक कर चुका हूं

बस /usr/local/apache/conf/saredip.conf पर जाएं

अपने आईपी सर्वर में इस पुट को जांचें

NameVirtualHost *:80
<VirtualHost *:80>
    ServerName yourdomainserver.ltd
    DocumentRoot /usr/local/apache/htdocs
    ServerAdmin root@youremail.com
    <IfModule mod_suphp.c>
        suPHP_UserGroup nobody nobody
    </IfModule>
</VirtualHost>
<Directory "/">
        AllowOverride All
        Allow from all
        Order Deny,Allow
</Directory>

इसके बाद /usr/local/apache/conf.d/vhost.conf पर जाएं और प्रत्येक वर्चुअलहोस्ट की तरह सुनिश्चित करें

# vhost_start chango.com.ve
<VirtualHost *:80>
ServerName yourdomain.ltd
ServerAlias www.yourdomain.ltd
ServerAdmin youremail@yourdomain.ltd
DocumentRoot "/home/yourdomain/public_html"
ScriptAlias /cgi-bin/ "/home/yourdomain/public_html/cgi-bin/
# 
# Custom settings are loaded below this line (if any exist)
# Include "/usr/local/apache/conf/userdata/yourdomain/yourdomain.ltd/*.conf    
</VirtualHost>^M
# vhost_end yourdomain.ltd

यह मेरे लिए काम करता है!

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