एक HTML पृष्ठ से रीडायरेक्ट करें




वेब पेज डिजाइन (20)

लोड पर किसी अन्य पृष्ठ पर रीडायरेक्ट करने के लिए मूल HTML पृष्ठ सेट करना संभव है?


अपने एचटीएमएल कोड के टैग और टैग के बीच निम्न कोड रखें।

<meta HTTP-EQUIV="REFRESH" content="0; url=http://example.com/index.html">

उपरोक्त HTML रीडायरेक्ट कोड आपके आगंतुकों को तुरंत किसी अन्य वेब पेज पर रीडायरेक्ट करेगा। content="0; को सेकंड्स की संख्या में बदल दिया जा सकता है जिसे आप ब्राउज़र को पुनर्निर्देशित करने से पहले प्रतीक्षा करना चाहते हैं।



<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Redirect to a page</title>
    </head>
    <body onload="window.location.assign('http://example.com')">

    </body>
</html>


जैसे ही पृष्ठ लोड होता है, init फ़ंक्शन निकाल दिया जाता है और पृष्ठ को रीडायरेक्ट किया जाता है:

<!DOCTYPE html>
<html>
    <head>
        <title>Example</title>
        <script>
            function init()
            {
               window.location.href = "www.wherever.com";
            }
        </script>
    </head>

    <body onload="init()">
    </body>
</html>

सिर के अंदर रखे गए निम्नलिखित मेटा टैग ब्राउज़र को रीडायरेक्ट करने के लिए बताएंगे:

<meta http-equiv="Refresh" content="seconds; url=URL"> 

इसे रीडायरेक्ट करने से पहले प्रतीक्षा करने के लिए सेकेंड की संख्या के साथ सेकेंड बदलें, और यूआरएल को उस यूआरएल से प्रतिस्थापित करें जिसे आप रीडायरेक्ट करना चाहते हैं।

वैकल्पिक रूप से, आप जावास्क्रिप्ट के साथ रीडायरेक्ट कर सकते हैं। इसे पृष्ठ पर कहीं भी एक स्क्रिप्ट टैग के अंदर रखें:

window.location = "URL"

जहां तक ​​मैं उन्हें समझता हूं, इस प्रश्न के लिए मैंने सोफेर को देखा है, इतिहास में पुराना स्थान जोड़ना प्रतीत होता है। पृष्ठ को रीडायरेक्ट करने के लिए, लेकिन इतिहास में पुराना स्थान नहीं है, मैं replace विधि का उपयोग करता हूं:

<script>
    window.location.replace("http://example.com");
</script>

आपको जावास्क्रिप्ट का उपयोग करना चाहिए। अपने हेड टैग में निम्न कोड रखें:

<script type="text/javascript">
 window.location.assign("http://www.example.com")
</script>

उपयोग करने का प्रयास करें:

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

नोट: इसे मुख्य अनुभाग में रखें।

इसके अतिरिक्त पुराने ब्राउज़र के लिए यदि आप एक त्वरित लिंक जोड़ते हैं तो यह सही तरीके से रीफ्रेश नहीं होता है:

<p><a href="http://example.com/">Redirect</a></p>

के रूप में दिखाई देगा

Redirect

यह आपको अभी भी एक अतिरिक्त क्लिक के साथ कहां जा रहा है, वहां पहुंचने की अनुमति देगा।


जावास्क्रिप्ट

<script language="javascript">
    window.location.href = "http://example.com"
</script>

मेटा टैग

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

मैं मेटा , और जावास्क्रिप्ट कोड दोनों का उपयोग करता हूं और मामले में सिर्फ एक लिंक होगा।

<!DOCTYPE HTML>
<html lang="en-US">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="refresh" content="0; url=http://example.com">
        <script type="text/javascript">
            window.location.href = "http://example.com"
        </script>
        <title>Page Redirection</title>
    </head>
    <body>
        <!-- Note: don't tell people to `click` the link, just tell them that it is a link. -->
        If you are not redirected automatically, follow this <a href='http://example.com'>link to example</a>.
    </body>
</html>

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


इसके लिए आपको किसी जावास्क्रिप्ट कोड की आवश्यकता नहीं है। HTML पृष्ठ के <head> अनुभाग में इसे लिखें:

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

जैसे ही पृष्ठ 0 सेकंड पर लोड हो जाता है, आप अपने पृष्ठ पर जा सकते हैं।


यह प्रत्येक पिछले उत्तरों के साथ-साथ HTTP रीफ्रेश हैडर का उपयोग .htaccess के माध्यम से एक अतिरिक्त समाधान का योग है

1. HTTP रीफ्रेश हेडर

सबसे पहले, आप इस तरह रीफ्रेश हेडर सेट करने के लिए .htaccess का उपयोग कर सकते हैं

Header set Refresh "3"

यह PHP में header() फ़ंक्शन का उपयोग करने के बराबर "स्थैतिक" है

header("refresh: 3;");

ध्यान दें कि यह समाधान हर ब्राउज़र द्वारा समर्थित नहीं है।

2. जावास्क्रिप्ट / jQuery

वैकल्पिक URL :

<script>
    setTimeout(function(){location.href="http://example.com/alternate_url.html"} , 3000);
</script>

वैकल्पिक यूआरएल के बिना:

<script>
    setTimeout("location.reload(true);",timeoutPeriod);
</script>

JQuery के माध्यम से:

<script>
    window.location.reload(true);
</script>

3. मेटा ताज़ा करें

जावास्क्रिप्ट पर निर्भरता और रीडायरेक्ट हेडर अनचाहे होने पर आप मेटा रीफ्रेश का उपयोग कर सकते हैं

वैकल्पिक यूआरएल के साथ:

<meta http-equiv="Refresh" content="3; url=http://example.com/alternate_url.html">

वैकल्पिक यूआरएल के बिना:

<meta http-equiv="Refresh" content="3">

<noscript> का उपयोग करना:

<noscript>
    <meta http-equiv="refresh" content="3" />
</noscript>

वैकल्पिक रूप से

बिली चंद्रमा द्वारा अनुशंसित अनुसार, कुछ गलत होने पर आप रीफ्रेश लिंक प्रदान कर सकते हैं:

अगर आपको स्वचालित रूप से रीडायरेक्ट नहीं किया जाता है: <a href='http://example.com/alternat_url.html'>Click here</a>

साधन


निम्नलिखित कोड को <head> अनुभाग में रखें:

<meta http-equiv="refresh" content="0; url=http://address/">

यदि आप आधुनिक वेब मानकों का पालन करने की उम्मीद कर रहे हैं, तो आपको सादे HTML meta रीडायरेक्ट से बचना चाहिए। यदि आप सर्वर-साइड कोड नहीं बना सकते हैं, तो आपको इसके बजाय जावास्क्रिप्ट रीडायरेक्ट चुनना चाहिए।

जेएस अक्षम ब्राउज़र का समर्थन करने के लिए एक HTML meta रीडायरेक्ट लाइन को एक noscript तत्व में जोड़ें। noscript टैग के साथ संयुक्त noscript नेस्टेड मेटा रीडायरेक्ट आपकी खोज इंजन रैंकिंग में भी मदद करेगा।

मैं आपको रीडायरेक्ट लूप से बचना चाहता हूं, आपको location.replace () जावास्क्रिप्ट फ़ंक्शन का उपयोग करना चाहिए।

उचित क्लाइंट-साइड यूआरएल रीडायरेक्ट कोड इस तरह दिखता है (आईई 8 और निचले फिक्स के बिना और देरी के बिना):

<!-- Pleace this snippet right after opening the head tag to make it work properly -->

<!-- This code is licensed under GNU GPL v3 -->
<!-- You are allowed to freely copy, distribute and use this code, but removing author credit is strictly prohibited -->
<!-- Generated by http://insider.zone/tools/client-side-url-redirect-generator/ -->

<!-- REDIRECTING STARTS -->
<link rel="canonical" href="https://.com/"/>
<noscript>
    <meta http-equiv="refresh" content="0;URL=https://.com/">
</noscript>
<!--[if lt IE 9]><script type="text/javascript">var IE_fix=true;</script><![endif]-->
<script type="text/javascript">
    var url = "https://.com/";
    if(typeof IE_fix != "undefined") // IE8 and lower fix to pass the http referer
    {
        document.write("redirecting..."); // Don't remove this line or appendChild() will fail because it is called before document.onload to make the redirect as fast as possible. Nobody will see this text, it is only a tech fix.
        var referLink = document.createElement("a");
        referLink.href = url;
        document.body.appendChild(referLink);
        referLink.click();
    }
    else { window.location.replace(url); } // All other browsers
</script>
<!-- Credit goes to http://insider.zone/ -->
<!-- REDIRECTING ENDS -->

मुझे एक jQuery मोबाइल एप्लिकेशन के साथ काम करते समय एक समस्या मिली, जहां कुछ मामलों में मेरा मेटा हेडर टैग ठीक से पुनर्निर्देशन प्राप्त नहीं करेगा (jQuery मोबाइल प्रत्येक पृष्ठ के लिए स्वचालित रूप से शीर्षलेख नहीं पढ़ता है, इसलिए जावास्क्रिप्ट डालने से भी अप्रभावी होता है जब तक कि इसे लपेट नहीं लेता जटिलता)। मैंने पाया कि इस मामले में सबसे आसान समाधान जावास्क्रिप्ट पुनर्निर्देशन को दस्तावेज़ के मुख्य भाग में सीधे रखना था, जैसा कि निम्नानुसार है:

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="refresh" content="0;url=myURL" />
    </head>

    <body>
        <p>You are not logged in!</p>
        <script language="javascript">
            window.location = "myURL";
        </script>
    </body>
</html>

ऐसा लगता है कि मेरे लिए हर मामले में काम करता है।


सभी प्रकार के पृष्ठों के लिए काम करने का सरल तरीका केवल सिर में meta टैग जोड़ना है:

<html>
    <head>
        ...
        <meta HTTP-EQUIV="REFRESH" content="seconds; url=your.full.url/path/filename">
        ...
    </head>
    <body>
        Don't put much content, just some text and an anchor.
        Actually, you will be redirected in N seconds (as specified in content attribute).
        That's all.
        ...
    </body>
</html>

आप मेटा "रीडायरेक्ट" का उपयोग कर सकते हैं:

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

या जावास्क्रिप्ट रीडायरेक्ट (ध्यान दें कि सभी उपयोगकर्ताओं को जावास्क्रिप्ट सक्षम नहीं है, इसलिए हमेशा उनके लिए बैकअप समाधान तैयार करें)

<script language="javascript">
  window.location = "http://new.example.com/address";
</script>

लेकिन यदि आपके पास विकल्प है, तो मैं mod_rewrite का उपयोग करने की सलाह दूंगा


मैं आपके SEO लोगों की मदद के लिए एक कैनोलिक लिंक भी जोड़ूंगा:

<link rel="canonical" href="http://www.example.com/product.php?item=swedish-fish"/>

इस कोड का प्रयोग करें:

<meta http-equiv="refresh" content="0; url=https://google.com/" />

कृपया ध्यान दें: इसे हेड टैग में रखें।





html-head