2013-11-22 10 views
6

किसी तरह मेरी आभासी मेजबान फ़ाइलें काम नहीं कर रहे सीधे मैं नहीं बता सकता क्यों - मुझे यकीन है कि यह सिर्फ मेरे अच्छे-सुबह मस्तिष्क में एक mailfunction है: पीअपाचे वर्चुअल होस्ट काम नहीं कर रहा सही

अभी मैं दो साइटों मिला/etc/apache2/निर्देशिका की तरह में उपलब्ध साइटों के लिए एक प्रतीकात्मक कड़ी के माध्यम से सक्षम:

0 Nov 21 12:24 000-default -> ../sites-available/default 
0 Nov 21 14:52 001-site -> ../sites-available/site 

मेरी vhosts फ़ाइलों की तरह लग रहे:

डिफ़ॉल्ट

<VirtualHost *:80> 
     ServerAdmin [email protected] 
     ServerName (the IP Address from my Server) 
     ServerAlias (the 2nd IP Address from my Server) 
     DocumentRoot /var/www/default 
     <Directory /> 
       Options FollowSymLinks 
       AllowOverride None 
     </Directory> 
     <Directory /var/www/default> 
       Options FollowSymLinks MultiViews 
       AllowOverride None 
       Order allow,deny 
       allow from all 
     </Directory> 

     ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ 
     <Directory "/usr/lib/cgi-bin"> 
       AllowOverride None 
       Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch 
       Order allow,deny 
       Allow from all 
     </Directory> 

     ErrorLog ${APACHE_LOG_DIR}/error.log 
     LogLevel warn 

     CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

साइट

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/site/ 
    ServerName jobbörse-köln.de 
    ServerAlias www.example.de ww.example.de w.example.de 

    <Directory /> 
      Options FollowSymLinks 
      AllowOverride None 
    </Directory> 
    <Directory /var/www/site> 
      Options FollowSymLinks MultiViews 
      AllowOverride None 
      Order allow,deny 
      allow from all 
    </Directory> 

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ 
    <Directory "/usr/lib/cgi-bin"> 
      AllowOverride None 
      Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch 
      Order allow,deny 
      Allow from all 
    </Directory> 

    ErrorLog ${APACHE_LOG_DIR}/site-error.log 
    LogLevel warn 
    CustomLog ${APACHE_LOG_DIR}/site-access.log combined 
</VirtualHost> 

किसी तरह जब मैं "example.de" पर जाने के मैं साइट निर्देशिका के बजाय डिफ़ॉल्ट निर्देशिका को मिलता है। यहां तक ​​कि लॉग फाइल:

site-error.log 
site-access.log 

0 बाइट्स पर रहने ... क्या मैं गलत कर रहा हूँ? मुझे यकीन है कि यह कुछ गूंगा और आसान है ...

+0

आपकी vhost.conf फाइलें कहां स्थित हैं? जब आप अपनी साइट तक पहुंचते हैं तो आप क्या देखते हैं? आपके httpd.conf के बारे में क्या? – Keerthivasan

+0

मेरे vhost फ़ाइलें में स्थित हैं: /etc/apache2/साइटों से उपलब्ध और वे में जुड़े हुए हो /etc/apache2/साइटों सक्षम मेरी apache2.conf में स्थित है/etc/apache2/ जब मैं www.example.de पर जाएं मुझे /var/www/default/ से /var/www/site/ – Kris

उत्तर

7

आप वर्चुअल होस्ट एंट्री दोनों के लिए डिफ़ॉल्ट 80 पोर्ट का उपयोग कर रहे हैं। तो मुझे आशा है कि आप नाम वर्चुअलहोस्ट *: 80 कॉन्फ़िगरेशन के रूप में उपयोग कर रहे हैं।

आपके द्वारा साझा किए गए कॉन्फ़िगरेशन में वर्चुअलहोस्ट पोर्ट 80 पर ओवरलैप हो रहा है, इसलिए पहले की प्राथमिकता है।

+0

के बजाय index.php प्राप्त करें, मैं पोर्ट 80 पर VHost पर और नहीं सुन सकता? – Kris

+0

मुझे वही सामना करना पड़ रहा है। @mandip जवाब दे सकता है? –

+0

@y_nk मुझे लगता है कि आप एक ही आईपी + पोर्ट संयोजन का उपयोग करते हुए दो या दो से अधिक वर्चुअलहोस्ट (*: 80) के साथ समस्या का सामना कर रहे हैं, जहां * सभी आईपी के लिए है (यह निश्चित आईपी के लिए भिन्न हो सकता है जैसे 20 9.207.228.12:80) । यदि हां तो आपको अपाचे को बताना होगा कि * 80 का उपयोग दो अलग-अलग वर्चुअलहोस्ट निर्देशों द्वारा किया जा रहा है। इसलिए आपको इन दो निर्देशों को जोड़ने से पहले NameVirtualHost *: 80 (उपरोक्त मामले के लिए) जोड़ने की आवश्यकता है। उसके बाद ServerAlias ​​तदनुसार आपकी कॉन्फ़िगरेशन ले जाएगा। उम्मीद है कि यह आपकी समस्या का समाधान करेगा। –

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