2011-10-25 11 views
5

मैंने इसे लगभग 2 घंटे के लिए शोध किया है और हालांकि अधिकांश विषय समान हैं, किसी ने भी समझाया नहीं है कि मैं क्या करना चाहता हूं।Apache सबडोमेन से www तक फिर से लिखता है लेकिन सभी परमालिंक

मैं एक ब्लॉग ले रहा हूं जिसमें blog.domain.com की संरचना थी और इसे www.domain.com/blog/ पर ले जाया गया। मैं ब्लॉग पोस्ट के स्थायी लिंक रखने के लिए जब मैं तो अनुप्रेषित जरूरत है ...

blog.domain.com/here-is-a-blog-post/

हो जाना चाहिए:

www.domain.com/blog/here-is-a-blog-post/ 

बहुत सी बातें की कोशिश कर के बाद, इस आखिरी बात मैंने कोशिश की जो समाप्त होता है बिल्कुल कोई प्रभाव नहीं पड़ता है। मतलब blog.domain.com सिर्फ blog.domain.com/ पर बैठता है

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^xyz\.domain\.com$ 
RewriteRule ^/(.*) http://domain.com/$1 [redirect,last] 

यहाँ मेरी httpd.conf फाइल से प्रविष्टि है।

<VirtualHost xxx.xxx.xxx.xxx:80> 
    SSLEngine off 
    SuexecUserGroup apache apache 
    ServerName  www.domain.com 
    ServerAlias  domain.com 
    ServerAlias  blog.domain.com 
    ServerAdmin [email protected] 
    DocumentRoot /home/domain/www/domain.wiredground.com 
    ScriptAlias /cgi-bin/ "/home/domain/www/cgi-bin/" 
    <Directory /home/domain/www/cgi-bin> 
     AllowOverride None 
     Options ExecCGI 
     Order allow,deny 
     Allow from all 
    </Directory> 
</VirtualHost> 

क्या कोई मदद कर सकता है?

धन्यवाद!

उत्तर

4

उपयोग करें:

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^blog\.domain\.com [NC] 
RewriteRule (.*) http://domain.com/blog/$1 [R=301,L] 
+1

आप regexp में डॉट्स से बच चाहिए: 'RewriteCond% {HTTP_HOST} ब्लॉग \ .domain \ .com $ [एनसी]' – Seybsen

+0

उफ़ हाँ अच्छा कॉल धन्यवाद –

+0

दोनों के लिए धन्यवाद आपके जवाबों का। मैंने मूल विचार की कोशिश की है और फिर दूसरी पंक्ति को सेबसेन के रिवाइटकंड के साथ बदल दिया है लेकिन कोई भाग्य नहीं है। क्या आप इस कारण के बारे में सोच सकते हैं कि जब मैं http://blog.domain.com पर जाता हूं कि कोई कार्रवाई नहीं की जाती है और यह बस http://blog.domain.com पर बैठती है? – user1013465

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