HTML को 301 रीडायरेक्ट पेज से एक डॉक्यूमेंट में डालकर वास्तविक 301 रीडायरेक्ट के समान कार्य करेगा?


15

एक वेब डिबगर में, 301 रीडायरेक्ट पृष्ठ का html इस प्रकार दिखाता है:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://www.website.com/webpage.htm">here</a>.</p>
</body></html>

मैं सर्वर समर्थन के बिना HTML पृष्ठों को पुनर्निर्देशित कर रहा हूं। अगर मैं ऊपर दिए गए कोड के साथ html पृष्ठों को प्रतिस्थापित करता हूं, तो क्या यह अपाचे पर .htaccess में 301 रीडायरेक्ट लिखने के समान काम करेगा? मैंने इसे Google पर देखा, लेकिन 301 रीडायरेक्ट के बारे में बात करने वाली साइटों ने html पृष्ठों को पुनर्निर्देशित करने के लिए इस विकल्प को कवर नहीं किया।

जवाबों:


18

आदर्श रूप से आप 301 HTTP प्रतिक्रिया स्थिति कोड भेजेंगे। यदि आप ऐसा नहीं कर सकते हैं कि एक मेटा रिफ्रेश जो तत्काल है, वह भी काम करेगा और खोज इंजन के आधार पर 301 या 302 रीडायरेक्ट के रूप में गिना जाएगा ।

<meta http-equiv="refresh" content="0;url=http://example.com/new.html">

30x रीडायरेक्ट माने जाने के लिए ताज़ा दर शून्य होना चाहिए।


धन्यवाद, यह लेख वास्तव में अच्छी तरह से इस प्रक्रिया को स्पष्ट करता है। 0 देरी मेटा मेरे ताज़ा उदाहरण के अंदर = गरीब आदमी की 301 से ऊपर ताज़ा।
JMC

10

नहीं, बस HTML को अपने उदाहरण से बदलने से वह प्रभाव प्राप्त नहीं होगा जो आप खोज रहे हैं। यह केवल उपयोगकर्ता को वह पृष्ठ दिखाएगा, क्योंकि Apache इसके साथ एक '200' स्टेटस कोड भेजेगा। उपयोगकर्ता पेज खोजने के लिए लिंक पर क्लिक करने में सक्षम होंगे लेकिन यह स्वचालित रूप से नहीं होगा और मकड़ियों को पता नहीं होगा कि आप संसाधन के एक स्थायी पुनर्निर्देशन को प्रभावित करने का मतलब है।

आपको .htaccess या आपकी Apache conf फ़ाइलों में एक उचित पुनर्निर्देशित या _mod_rewrite_ निर्देश का उपयोग करने की आवश्यकता होगी ।

वैकल्पिक रूप से, यदि आप वास्तव में PHP या कुछ इसी तरह का उपयोग कर रहे हैं, तो आप रिटर्न कोड को 301 पर सेट कर सकते हैं, एक स्थान प्रतिक्रिया शीर्ष लेख का उत्पादन कर सकते हैं और फिर आपका पेज आधारित समाधान काम करेगा। PHP में यह कुछ इस तरह दिखेगा:

<?php
header( "HTTP/1.1 301 Moved Permanently" );
header( "Location: http://www.new-url.com" );

+1 200 स्टेटस कोड के बारे में अच्छे अंक। उस बारे में नहीं सोचा था। दुर्भाग्य से यह एक IIS सर्वर है और मेरे पास ftp से अधिक गहरी पहुँच नहीं है। पृष्ठ .html हैं इसलिए एक एस्प पुनर्निर्देशन प्रक्रिया नहीं करेगा।
JMC

उस मामले में जॉन कोनडे का जवाब सबसे अच्छा है - मैं मेटा रीफ्रेश तुल्यता के बारे में भूल गया हूं।
हिसौथाथिर

3

हिसोथाथिर के साथ सहमत हूं कि आपका दृष्टिकोण वास्तव में पुनर्निर्देशित नहीं होगा। उपयोगकर्ता लिंक पर क्लिक करना जान सकते हैं, लेकिन मूल पृष्ठ अभी भी एक सामान्य '200' स्थिति कोड लौटाएगा और खोज परिणामों पर प्रदर्शित करना जारी रखेगा (संभवतः जो आप चाहते हैं वह काफी नहीं है)।

पेज रैंक बनाए रखने के लिए, 301 स्थिति कोड अत्यंत महत्वपूर्ण हैं। मेटा रीफ़्रेश टैग जोड़ना भी एक अच्छा विकल्प है और ज्यादातर मामलों में (जॉन की प्रतिक्रिया के अनुसार) मदद कर सकता है, लेकिन आपको इस बात की गारंटी नहीं दी जा सकती कि खोज इंजन इसे भविष्य में 301 रीडायरेक्ट के रूप में स्वीकार करेंगे। 301 स्थिति कोड भेजे जाने की गारंटी देने के लिए अपने .htaccess (या Apache conf files) में उचित रीडायरेक्ट जोड़ना आपका सबसे अच्छा विकल्प होगा।

संपादित करें:

=======================

IIS7 वेबसाइट के लिए, जब तक IIS URL रिवाइटर मॉड्यूल इंस्टॉल नहीं हो जाता, तब तक आप साइट के लिए web.config में रीडायरेक्ट नियम बना सकते हैं। ये नियम .html फाइलों पर भी लागू होंगे। अधिक जानकारी यहाँ:

http://learn.iis.net/page.aspx/461/creating-rewrite-rules-for-the-url-rewrite-module/

=======================

एक अन्य विकल्प यदि आपके वेब होस्ट के पास नहीं है। .htaccess / mod_rewrite क्षमताएं आपके द्वारा उपयोग किए जा रहे वेब होस्ट को बदलने के लिए हो सकती हैं जहां आप सर्वर-साइड रीडायरेक्ट को सेटअप कर सकते हैं। जब तक साइट को ठीक से स्थानांतरित नहीं किया जाता है, तब तक यह आपके उपयोगकर्ताओं के लिए काफी सहज होना चाहिए। यह दृष्टिकोण केवल चरम मामलों के लिए होगा यदि पेज रैंक बनाए रखना अत्यधिक महत्वपूर्ण है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.