मेरे पास ऐसी साइट है जो किसी और द्वारा होस्ट की गई थी, सभी वेब पेज .html फ़ाइलें थीं। अब मैं साइट होस्ट कर रहा हूं और इसे एक WordPress साइट में बदल दिया है। डोमेन नहीं बदला है लेकिन स्पष्ट रूप से सभी पृष्ठों में है। सभी .html पृष्ठों को मुख्य यूआरएल पर रीडायरेक्ट करने का सबसे अच्छा तरीका क्या है?301 रीडायरेक्ट बनाम रिवाइट
उत्तर
301 Redirect
.htaccess
में mod_rewrite लाइब्रेरी की आवश्यकता नहीं है। रीडायरेक्ट करने का यह एक आसान तरीका है, लेकिन आपके पास रिवाइट नियमों का उपयोग करके लचीलापन और शक्ति नहीं है। आप नियमित अभिव्यक्ति का उपयोग करते हुए समान पैटर्न के एक नंबर की वाइल्ड कार्ड मिलान करने के लिए प्रयास कर रहे हैं
Redirect 301 /path/file.html http://new.site.com/newpath.php
आप पुनर्लेखन का उपयोग करना होगा: आप स्पष्ट यूआरएल के साथ 1-1 मानचित्रण है, तो आप उपयोग कर सकते हैं पुनर्निर्देशन ।
RewriteRule ^(.*).html$ http://new.site.com/$1.php [R=301,NC,L]
यहाँ 2 तरीकों में से एक बहुत अच्छा अवलोकन है: http://www.ksl-consulting.co.uk/301-redirect-examples.html
वहाँ भी है RedirectMatch वह भी नियमित अभिव्यक्ति का उपयोग करते हुए समान पैटर्न की वाइल्ड कार्ड मिलान करता है। पसंद केवल उस चीज पर निर्भर करता है जो आपको करने की ज़रूरत है।
रिवाइट जटिल है - सीखने की अवस्था - लेकिन आप एचटीएमएल कोड और चीजों को असंभव लगने के बिना वैकल्पिक यूआरएल की सेवा कर सकते हैं। लेकिन महान शक्ति के साथ जटिलता और बहुत सारी बग आती है।
यदि आप केवल एक साधारण पुनर्निर्देशन कर रहे हैं - संभवतः कुछ यूआरएल से मेल खाते हैं - रीडायरेक्ट जाने का तरीका है।
जब आप इसे रीडायरेक्ट के साथ नहीं कर सकते हैं, तो आप शायद Mod_Rewrite सीखना शुरू करना चाहेंगे।
कर सकते हैं आप अपने उत्तर में कुछ उदाहरण कोड दिखाते हैं? –
यदि मैं डब्ल्यूडब्ल्यूडब्ल्यू और गैर-डब्ल्यूडब्ल्यूडब्ल्यू संस्करण को पुनर्निर्देशित करना चाहता हूं तो क्या होगा? क्या मैं इसे रीवाइट्रूल या mod_rewrite लाइब्रेरी के बिना कर सकता हूं? –
@Boris_yo नहीं, तुम स्थिति को फिर से लिखने की जरूरत है अगर आप प्रोटोकॉल http पकड़ने की कोशिश कर रहे हैं बनाम https – Ray
नहीं वास्तव में एक प्रोटोकॉल लेकिन WWW और गैर- www –