यह htaccess में वर्तमान नियम है

# Redirect
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ http://new.com/$1 [R=301,L]
</IfModule>

अब तक ठीक काम करता है लेकिन इसमें एक अपवाद होना चाहिए: यदि यह होम पेज है तो इसे एक विशिष्ट यूआरएल पर रीडायरेक्ट करना चाहिए। तो अगर इसका http://old.com/ है तो इसे http://new.com/shop हर दूसरे मामले में इसे ऊपर जैसा व्यवहार करना चाहिए http://old.com/cat/xyz http:// पर रीडायरेक्ट कर रहा है new.com/cat/xyz इत्यादि।

कोई सुझाव?

2
GDY 20 अक्टूबर 2016, 09:06

2 जवाब

सबसे बढ़िया उत्तर

रेगेक्स में .* लैंडिंग पेज यूआरआई यानी / सहित हर चीज से मेल खाता है लेकिन .+ लैंडिंग पेज को छोड़ देता है।

आप इन नियमों का उपयोग कर सकते हैं:

RewriteEngine On

# handle landing page
RewriteCond %{HTTP_HOST} ^(?:www\.)?old\.com$ [NC] 
RewriteRule ^$ http://new.com/shop [R=301,L]

# everything but landing page
RewriteCond %{HTTP_HOST} ^(?:www\.)?old\.com$ [NC] 
RewriteRule . http://new.com%{REQUEST_URI} [R=301,L,NE]
1
anubhava 20 अक्टूबर 2016, 10:25

301 एक पेज के यूआरएल से दूसरे पेज का यूआरएल

एक URL से दूसरे URL पर 301 रीडायरेक्ट बनाने के लिए, कोड की निम्न पंक्ति जोड़ें:

Redirect 301 /retiredpage.html http://www.example.com/newpage.html

आप .htaccess फ़ाइल में जितनी आवश्यक हो उतनी रीडायरेक्ट लाइनें जोड़ सकते हैं।

301 एक निर्देशिका URL और उसकी सभी सामग्री दूसरे को

यदि आपने अपनी साइट की संरचना को फिर से डिज़ाइन किया है और एक निर्देशिका का नाम बदला है, तो आपको संपूर्ण निर्देशिका के लिए एक 301 बनाने की आवश्यकता है। ऐसे:

RedirectMatch 301 ^/oldname/ http://www.example.com/newname/

301 एक डोमेन नाम URL दूसरे को

यदि आपने अभी-अभी एक वृद्ध डोमेन नाम खरीदा है जिसका ट्रैफ़िक (और खोज पृष्ठ रैंक मान) आप अपनी मौजूदा साइट के डोमेन को बढ़ाने के लिए उपयोग करना चाहते हैं, तो आप खरीदे गए डोमेन नाम से सभी ट्रैफ़िक और रैंकिंग को अपने वर्तमान डोमेन में स्थानांतरित करने के लिए 301 सेट कर सकते हैं। स्थल।

एक उदाहरण के रूप में निम्नलिखित कोड का प्रयोग करें:

RedirectMatch 301 ^(.*)$ http://www.example.com

सुनिश्चित करें कि आपने यह रीडायरेक्ट कोड उस स्रोत साइट की .htaccess फ़ाइल में सेट किया है जिसे आप रीडायरेक्ट करना चाहते हैं, न कि रीडायरेक्ट लक्ष्य साइट!

विहितीकरण के लिए 301 डोमेन नाम URL प्रकार

चूंकि सर्च इंजन इंडेक्स यूआरएल, एक ही सामग्री पेज को इंगित करने वाले इंडेक्स में एकाधिक यूआरएल वाले यूआरएल के बीच उस पेज के लिए उपलब्ध पेज रैंक क्रेडिट को विभाजित करता है। यह निश्चित रूप से "खोज के लिए अनुकूलित नहीं" मामलों की स्थिति है! कैनोनिकलाइज़ेशन के विवरण के बारे में अधिक जानने के लिए, सर्च इंजन लैंड पोस्ट पर एक नज़र डालें, व्हाई कैनोनिकलाइज़ेशन मैटर्स फ्रॉम ए लिंकिंग पर्सपेक्टिव। लब्बोलुआब यह है कि आप उस सामग्री के खोज मूल्य को अनुकूलित करने के लिए पृष्ठ रैंक को एक (विहित) URL में समेकित करना चाहते हैं।

एक बार जब आप विहितीकरण की सर्वोत्तम प्रक्रियाओं को समझ लेते हैं, तो आप उन्हें अपनी साइट पर लागू करना चाहेंगे। इसका मतलब है कि आपको सभी संभावित वैकल्पिक यूआरएल विविधताओं को कैननिकल यूआरएल पर रीडायरेक्ट करने के लिए जिम्मेदार होना चाहिए। अपनी साइट के होम पेज के लिए निम्नलिखित कोड नमूने का उपयोग करें:

RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*(default|index)\.(html|php|htm)\ HTTP/ [NC]
RewriteRule ^(([^/]+/)*)(default|main|index)\.(html|php|htm)$ http://www.example.com/$1 [L,R=301]

कोड का पहला दो-पंक्ति वाला ब्लॉक उन URL को पुनर्निर्देशित करता है जिन्होंने "www" को छोड़ दिया है। पूर्ण “www.example.com” होम पेज URL का उपसर्ग। यानी होम पेज URL

** http://example.com अपने आप ठीक नहीं होगा, बल्कि http://www.example.com/। **

दूसरा कोड ब्लॉक URL को डिफ़ॉल्ट पृष्ठ संदर्भ निर्दिष्ट करने वाले URL को पुनर्निर्देशित करता है जो डिफ़ॉल्ट पृष्ठ संदर्भ नामों को छोड़ देता है। यह कोड सुनिश्चित करता है कि कोई भी होम पेज URL जिसमें स्पष्ट पृष्ठ नाम संदर्भों के कई संस्करण शामिल हैं, जैसे कि default.htm या index.html, को कैनोनिकल होम पेज URL पर पुनर्निर्देशित किया जाएगा,

http://www.example.com/.

0
norcal johnny 20 अक्टूबर 2016, 09:19