2010-08-19 20 views
27

मैं htaccess फ़ाइल का उपयोग कर अपने पुराने डोमेन अनुरोध को अपने नए डोमेन पर रीडायरेक्ट करना चाहता हूं। नीचे मैं उपयोग कर रहा हूं लेकिन यह पृष्ठ काम नहीं करता है अगर पृष्ठ नई साइट पर नहीं है। उदाहरण के लिए पुरानी साइट पर google index about.htm लेकिन नई साइट पर यह अस्तित्व में नहीं है। मैं इसे सभी मामलों में रूट पर जाना चाहता हूं। मुझे पता है कि यह एसईओ के लिए आदर्श नहीं है लेकिन मुझे कोई 404 नहीं चाहिए। कोई सुझाव?htaccess सभी पृष्ठों को एकल पृष्ठ पर रीडायरेक्ट करें

Redirect 301/http://www.thenewdomain.com/ 
+1

संभव डुप्लिकेट [301 रीडायरेक्ट .htaccess नए डोमेन पर एक पृष्ठ पर पुराने डोमेन पर सभी पृष्ठों] (http://stackoverflow.com/questions/15057146/htaccess-301-redirect-all-pages-on-old-domain-to-a-single-page-on-new-domain) – mattdm

उत्तर

20

क्या आप old.com/about.htm पर आगंतुकों को new.com/about.htm पर जाने की कोशिश कर रहे हैं? यदि हां, तो आप .htaccess में एक mod_rewrite नियम के साथ ऐसा कर सकते हैं:

RewriteEngine on

RewriteRule ^(.*)$ http://www.thenewdomain.com/$1 [R=permanent,L]

+0

नहीं, मैं old.com पर जाने के लिए old.com/about.htm चाहता हूं और तो यदि संभव हो तो /about.htm को हटा दें, इसलिए यह old.com –

+2

पर जाता है बस '$ 1' को हटाएं और आपको अच्छा होना चाहिए! –

11

इस नए होस्ट के रूट तक पुराने मेजबान से सब कुछ निर्देशित करेंगे:

RewriteEngine on 
RewriteCond %{http_host} ^www.old.com [NC,OR] 
RewriteCond %{http_host} ^old.com [NC] 
RewriteRule ^(.*)$ http://www.thenewdomain.org/ [R=301,NC,L] 
+1

एफवाईआई: पिछली पंक्ति पर [एनसी] झंडा बेकार है। –

+0

'/ admin' के अलावा, सभी को पुनर्निर्देशित करने के बारे में कैसे? तो प्रशासन पैनल तक पहुंचा जा सकता है? –

+0

@ फ्रांसिस्को कोरलसमोरालेस - ऐसा करने के लिए, आप इस लाइन को जोड़ सकते हैं: रिवाइटकंड% {REQUEST_URI}!/Admin/$ रीवाइट्रूल लाइन से पहले रिवाइटकंड में। –

49

यदि आपका उद्देश्य सभी पृष्ठों को एक रखरखाव पृष्ठ पर रीडायरेक्ट करना है (जैसा शीर्षक शीर्षक भी सुझा सकता है), तो इसका उपयोग करें:

RewriteEngine on 
RewriteCond %{REQUEST_URI} !/maintenance.php$ 
RewriteCond %{REMOTE_HOST} !^000\.000\.000\.000 
RewriteRule $ /maintenance.php [R=302,L] 

कहाँ 000 000 000 000 your ip adress द्वारा प्रतिस्थापित किया जाना चाहिए।

स्रोत:

http://www.techiecorner.com/97/redirect-to-maintenance-page-during-upgrade-using-htaccess/

+0

'/ admin' के अलावा, सभी को पुनर्निर्देशित करने के बारे में कैसे? तो प्रशासन पैनल तक पहुंचा जा सकता है? –

+0

यह विधि रखरखाव पृष्ठ पर उपयोग किए जाने वाले किसी भी संसाधन को अवरुद्ध करती है। दूसरी पंक्ति के बाद इसे जोड़ने का प्रयास करें: 'पुनर्लेखन% {REQUEST_URI}! \। (जेपी? जी? | पीएनजी | gif | जेएस | सीएसएस | woff | ttf | ico) [एनसी] ' –

3
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.com$ [NC] 
RewriteRule ^(.*)$ "http://www.thenewdomain.com/" [R=301,L] 
की
संबंधित मुद्दे