2012-07-17 14 views
12

मेरे /var/www में मेरे पास कई साइटें हैं (मालसाइट, Badsite, uglysite)। फिलहाल उन्हें mydomain.com/goodsite, आदि द्वारा उपयोग किया जाता है ..अपाचे मानचित्र फ़ोल्डर में एकल सबडोमेन

जो मैं चाहता हूं वह कणूर, यूग्लीसाइट में एक साइट के लिए uglysite.mydomain.com तक पहुंचने के लिए है - अन्य लोग रहते हैं।

मैंने htaccess (/var/www में) के साथ झुकाव के सभी तरीकों की कोशिश की है। नोट: मेरे पास mod-rewrite सक्षम है और mod vhost-alias सक्षम है।

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^uglysite\.mydomain\.com$ [NC] 
RewriteCond %{REQUEST_URI} !^/uglysite/ 
RewriteRule ^(.*)$ /uglysite/$1 [L] 

क्या हो रहा समाप्त होता है कि दोनों mydomain.com और uglysite.mydomain.com हमेशा (/var/www पर जैसे कि, इंडेक्स) एक ही बात करने के लिए नक्शे। मैंने एक नए वर्चुअल होस्ट में जोड़ने का प्रयास किया, और यह आश्चर्यचकित हुआ कि uglysite.mydomain.com ने सही ढंग से मैप किया है, लेकिन फिर mydomain.com ने भी बदसूरत पर सीधे मैप किया।

<Virtualhost uglysite.mydomain.com:80> 
     ServerName uglysite.mydomain.com 
     ServerAdmin [email protected] 
     DocumentRoot "/var/www/" 
     AccessFileName .htaccess 
     <Directory "/var/www/uglysite"> 
       Order allow,deny 
       Allow from All 
       AllowOverride All 
     </Directory> 
</VirtualHost> 

उपर्युक्त मेरी साइट-सक्षम/000-डिफ़ॉल्ट फ़ाइल में जोड़ा गया था। यह uglysite.mydomain.com को ठीक से काम करने के लिए मिला, लेकिन फिर mydomain.com ने एक ही चीज़ पर मैप किया!

क्या मैं ऐसा करने का इरादा रखने का एक सीधा तरीका है ?? अग्रिम में धन्यवाद।

उत्तर

15

आप 000-डिफ़ॉल्ट संशोधित

तो के बजाय एक दूसरे फ़ाइल में uglysite बनाने की जानी चाहिए,, 000-डिफ़ॉल्ट फ़ाइल की एक प्रतिलिपि लेने के उप डोमेन के रूप में आप वहाँ किया है बदल सकते हैं और करने के लिए निर्देशिका को बदलें/path/to/साइट

000-डिफ़ॉल्ट:

<Virtualhost *:80> 
     ServerName mydomain.com 
     ServerAdmin [email protected] 
     ServerAlias mydomain.com 
     DocumentRoot "/var/www/goodsite" 
     AccessFileName .htaccess 
     <Directory "/var/www/goodiste"> 
       Order allow,deny 
       Allow from All 
       AllowOverride All 
     </Directory> 
</VirtualHost> 

uglysite:

<Virtualhost *:80> 
     ServerName uglysite.mydomain.com 
     ServerAlias uglysite.mydomain.com 
     ServerAdmin [email protected] 
     DocumentRoot "/var/www/uglysite" 
     AccessFileName .htaccess 
     <Directory "/var/www/uglysite"> 
       Order allow,deny 
       Allow from All 
       AllowOverride All 
     </Directory> 
</VirtualHost> 

भी ध्यान रखें कि इसके बाद के संस्करण के नमूनों में, मैं DocumentRoot संशोधित किया है निर्देशिका आप चाहते हैं कि फ़ाइल से

संपादित परोसा को इंगित करने के लिए: VirtualHosts स्थापित करने के लिए *: 80 के बाद से अपनी साइटों को अपने स्वयं के आईपी को इंगित वैसे भी

+0

धन्यवाद, मैं अभी यह कोशिश करूँगा। –

+0

आपको यह फ़ाइल/etc/apache2/साइट-उपलब्ध बीटीडब्ल्यू और सिम्लिंकिंग ('ln -s साइट्स-उपलब्ध/बदसूरत साइट्स-सक्षम/uglysite') में साइट्स-सक्षम – arcyqwerty

+0

में बनाना चाहिए, क्या मुझे इसे कहीं भी स्पष्ट रूप से शामिल करने की आवश्यकता है ? –

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