2011-12-05 14 views
9

में सबडोमेन पुनर्निर्देशन मैं सोच रहा था कि निम्नलिखित परिदृश्य htaccess नियमों का उपयोग कर संभव है या नहीं। मैं चाहता हूं कि एक सबडोमेन को दूसरे यूआरएल पर रीडायरेक्ट किया जाए। मैंने "example.com" डोमेन में "test" सबडोमेन जोड़ने के लिए सर्वर व्यवस्थापक से संपर्क किया है। मुख्य डोमेन में कोई अन्य सबडोमेन नहीं है।htaccess

प्राप्त करने के लिए एचटीएसीएसी में मुझे क्या नियम रखना चाहिए: http://test.example.com को http://www.something-else.com पर रीडायरेक्ट करने के लिए।

नोट: www.something-else.com एक जटिल यूआरएल (200 वर्ण लंबाई)

संपादित है मेरा पूरा htaccess फ़ाइल अब लगता है कि:

Options +FollowSymLinks 
RewriteEngine on 
RewriteOptions inherit 
RewriteBase/

RewriteCond %{HTTP_HOST} ^test.example.com$ [NC] 
RewriteRule ^(.*)$ http://www.example.com/redir.php [L] 

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

htaccess फ़ाइल स्थित है example.com रूट निर्देशिका के लिए। मेरे पास उपनिर्देशिका का परीक्षण करने के लिए कोई भौतिक पहुंच नहीं है, हालांकि मुझे पता है कि यह मौजूद है - उस यूआरएल को पिंग मुझे उदाहरण.com का आईपी दिखाता है

ब्राउज़र के पता बार में test.example.com टाइपिंग का कोई प्रभाव नहीं पड़ता है। सफेद स्क्रीन, कोई पुनर्निर्देशन, कुछ भी नहीं। अगर कुछ पेज मौजूद है, तो मुझे नहीं पता।

+0

एक जटिल यूआरएल क्या है? –

+0

@ ज़ीउस का पुस्तक: https://www.somdomain.com/a/folder1/somepage?var=xxx&var2=xxx&var3=xxx&var4=http://another-domain.com/folder1/xxxxx/&var5=xxx&var6=xxxx – andrew

+0

http://stackoverflow.com/a/1460652/567986 लेकिन आपको अंत में ', P' को हटा देना चाहिए और% {REQUEST_URI} को हटा देना चाहिए। – Gerben

उत्तर

17
स्थिर यूआरएल के लिए

:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^test.example.com$ [NC] 
RewriteRule ^(.*)$ https://www.somdomain.com%{REQUEST_URI} [R=301,NC,L,QSA] 

अपने संपादित से::

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^test.example.com$ [NC] 
RewriteRule ^(.*)$ https://www.somdomain.com/a/folder1/somepage?var=xxx&var2=xxx&var3=xxx&var4=http://another-domain.com/folder1/xxxxx/?&var5=xxx&var6=xxxx [R=301,NC,L] 

गतिशील यूआरएल के लिए (यदि मूल डोमेन फ़ोल्डरों अन्य डोमेन के लिए ले जाया जाना चाहिए है)

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} ^test.example.com$ [NC] 
RewriteRule ^(.*)$ redir.php [R=301,NC,L] 
+0

कोई काम नहीं करता है। पहली नज़र में मैंने सोचा कि पुनर्निर्देशन यूआरएल htaccess तोड़ रहा था। मैंने इसे एक php फ़ाइल में डाल दिया और सबडोमेन को php फ़ाइल में रीडायरेक्ट करने के लिए अपना htaccess बदल दिया। अभी भी काम नहीं कर रहा है। पर रीवाइटइंजिन रीव्राइटकंड% {HTTP_HOST}^test.example.com $ [एनसी] रिवाइट्रूल^(। *) $ Http://www.example.com/redir.php [आर = 301, एनसी, एल] – andrew

+0

मैंने अपना जवाब –

+0

अभी भी अपडेट नहीं किया है। यह काम करना चाहिए, मुझे पता है, लेकिन यह नहीं है। मैंने अपनी पूरी पोस्ट को अपना पूरा एचटीएसीएएस दिखाने के लिए संपादित किया है। मैं उलझन में हूं।यह पहले – andrew