क्या लोड पर दूसरे पृष्ठ पर पुनर्निर्देशित करने के लिए एक मूल HTML पृष्ठ सेट करना संभव है?
क्या लोड पर दूसरे पृष्ठ पर पुनर्निर्देशित करने के लिए एक मूल HTML पृष्ठ सेट करना संभव है?
जवाबों:
प्रयोग करके देखें:
<meta http-equiv="refresh" content="0; url=http://example.com/" />
नोट: इसे हेड सेक्शन में रखें।
पुराने ब्राउज़रों के लिए इसके अतिरिक्त अगर आप सही तरीके से रिफ्रेश नहीं करते हैं तो त्वरित लिंक जोड़ते हैं:
<p><a href="http://example.com/">Redirect</a></p>
के रूप में दिखाई देगा
यह अभी भी आपको एक अतिरिक्त क्लिक के साथ जहां आप जा रहा है वहां जाने की अनुमति देगा।
0
0 सेकंड के बाद ताज़ा करने का साधन। आप उपयोगकर्ता को यह जानने के लिए कुछ और समय देना चाह सकते हैं कि क्या हो रहा है।
मैं मेटा और जावास्क्रिप्ट कोड दोनों का उपयोग करूंगा और बस एक लिंक होगा।
<!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 स्थिति कोड भेजें । यह अपाचे.htaccess
का उपयोग करके फ़ाइलों के माध्यम से या वर्डप्रेस का उपयोग करके कई प्लगइन्स के माध्यम से करना आसान है । मुझे यकीन है कि सभी प्रमुख सामग्री प्रबंधन प्रणालियों के लिए प्लगइन्स भी हैं। इसके अलावा, cPanel के पास 301 रीडायरेक्ट के लिए बहुत आसान कॉन्फ़िगरेशन है यदि आपने अपने सर्वर पर इंस्टॉल किया है।
body
टैग और लाइक छोड़ने का बड़ा प्रशंसक नहीं हूं । शायद यह मान्य है, और शायद आम ब्राउज़रों में काम करता है। मुझे यकीन है कि कुछ फ्रिंज मामले हैं जो मुद्दों का कारण बनते हैं, और लाभ छोटा लगता है।
click here
एक लिंक पर होने की सलाह नहीं दी जाती है, क्योंकि स्क्रीन रीडर नेविगेट करने में कठिन होगा। लिंक गंतव्य का वर्णन करने वाले पाठ पर होना चाहिए, इसलिए उपयोगकर्ता जानता है कि वे इसके अनुसरण से पहले कहां पहुंचेंगे, और हालांकि वे इसके साथ बातचीत करते हैं।
मैं आपके एसईओ लोगों की मदद करने के लिए एक विहित लिंक भी जोड़ूंगा :
<link rel="canonical" href="http://www.example.com/product.php?item=swedish-fish"/>
निम्नलिखित मेटा टैग, सिर के अंदर रखा गया है, ब्राउज़र को पुनर्निर्देशित करने के लिए कहेगा:
<meta http-equiv="Refresh" content="seconds; url=URL">
रीडायरेक्ट से पहले प्रतीक्षा करने के लिए सेकंड की संख्या के साथ सेकंड को बदलें, और URL को उस URL से बदलें जिसे आप इसे रीडायरेक्ट करना चाहते हैं।
वैकल्पिक रूप से, आप जावास्क्रिप्ट के साथ पुनर्निर्देशित कर सकते हैं। इसे स्क्रिप्ट टैग के अंदर पृष्ठ पर कहीं भी रखें:
window.location = "URL"
यह पिछले प्रत्येक उत्तर के साथ-साथ HTTP रीफ़्रेश हैडर के माध्यम से .htaccess का उपयोग करके एक अतिरिक्त समाधान है
1. HTTP रिफ्रेश हैडर
सबसे पहले, आप इस तरह से एक ताज़ा हेडर सेट करने के लिए .htaccess का उपयोग कर सकते हैं
Header set Refresh "3"
यह PHPheader()
में फ़ंक्शन का उपयोग करने के बराबर "स्थिर" है
header("refresh: 3;");
ध्यान दें कि यह समाधान हर ब्राउज़र द्वारा समर्थित नहीं है।
2. जावास्क्रिप्ट
वैकल्पिक URL के साथ :
<script>
setTimeout(function(){location.href="http://example.com/alternate_url.html"} , 3000);
</script>
वैकल्पिक URL के बिना:
<script>
setTimeout("location.reload(true);",timeoutPeriod);
</script>
वाया jQuery:
<script>
window.location.reload(true);
</script>
3. मेटा रिफ्रेश
जब आप जावास्क्रिप्ट पर निर्भरता और अवांछित हेडर अवांछित हैं, तो आप मेटा रीफ़्रेश का उपयोग कर सकते हैं
वैकल्पिक URL के साथ:
<meta http-equiv="Refresh" content="3; url=http://example.com/alternate_url.html">
वैकल्पिक URL के बिना:
<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>
साधन
setTimeout
स्ट्रिंग के साथ कॉल न करें । इसके बजाय एक समारोह पास करें।
301 पुनर्निर्देशित करना बेहतर होगा । Google के वेबमास्टर उपकरण आलेख 301 पुनर्निर्देश देखें ।
यदि आप आधुनिक वेब मानकों का पालन करना चाहते हैं, तो आपको सादे HTML मेटा रीडायरेक्ट से बचना चाहिए। यदि आप सर्वर-साइड कोड नहीं बना सकते हैं, तो आपको इसके बजाय जावास्क्रिप्ट पुनर्निर्देशित करना चाहिए ।
जावास्क्रिप्ट-अक्षम ब्राउज़रों का समर्थन करने के लिए एक noscript
तत्व में HTML मेटा रीडायरेक्ट लाइन जोड़ें । noscript
नेस्टेड मेटा रीडायरेक्ट के साथ संयुक्तcanonical
टैग अपने खोज इंजन रैंकिंग के साथ-साथ में मदद मिलेगी।
यदि आप पुनर्निर्देशित लूप से बचना चाहते हैं, तो आपको इसका उपयोग करना चाहिए location.replace()
जावास्क्रिप्ट फ़ंक्शन का ।
एक उचित क्लाइंट-साइड URL पुनर्निर्देशित कोड इस तरह दिखता है (इंटरनेट एक्सप्लोरर 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://stackoverflow.com/"/>
<noscript>
<meta http-equiv="refresh" content="0; URL=https://stackoverflow.com/">
</noscript>
<!--[if lt IE 9]><script type="text/javascript">var IE_fix=true;</script><![endif]-->
<script type="text/javascript">
var url = "https://stackoverflow.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 -->
<meta http-equiv="refresh"
डब्लू 3 सी द्वारा पदावनत किए जाने का विवरण शामिल है।
आप एक मेटा "पुनर्निर्देशित" का उपयोग कर सकते हैं :
<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 का उपयोग करने की सलाह दूंगा , अगर आपके पास विकल्प है।
निम्न कोड अपने HTML कोड के <HEAD> और </ HEAD> टैग के बीच रखें:
<meta HTTP-EQUIV="REFRESH" content="0; url=http://example.com/index.html">
उपरोक्त HTML रीडायरेक्ट कोड आपके आगंतुकों को तुरंत किसी अन्य वेब पेज पर रीडायरेक्ट करेगा। content="0;
आप ब्राउज़र पुन: निर्देशित करने से पहले प्रतीक्षा करना चाहते सेकंड की संख्या को बदला जा सकता है।
मुझे 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>
आपको जावास्क्रिप्ट का उपयोग करना चाहिए। निम्नलिखित कोड अपने सिर टैग में रखें:
<script type="text/javascript">
window.location.assign("http://www.example.com")
</script>
आप HTTP स्थिति कोड 301 या 302 द्वारा ऑटो पुनर्निर्देशित कर सकते हैं।
PHP के लिए:
<?php
Header("HTTP/1.1 301 Moved Permanently");
Header("Location: http://www.redirect-url.com");
?>
मैं एक स्क्रिप्ट का उपयोग करता हूं जो उपयोगकर्ता को index.html से लॉगिन पेज के सापेक्ष url पर पुनर्निर्देशित करता है
<html>
<head>
<title>index.html</title>
</head>
<body onload="document.getElementById('lnkhome').click();">
<a href="/Pages/Login.aspx" id="lnkhome">Go to Login Page<a>
</body>
</html>
बस अच्छे उपाय के लिए:
<?php
header("Location: example@example.com", TRUE, 303);
exit;
?>
सुनिश्चित करें कि स्क्रिप्ट के ऊपर कोई प्रतिध्वनि नहीं है अन्यथा इसे अनदेखा किया जाएगा। http://php.net/manual/en/function.header.php
बस शरीर टैग के onload घटना का उपयोग करें:
<body onload="window.location = 'http://example.com/'">
इसके लिए आपको किसी जावास्क्रिप्ट कोड की आवश्यकता नहीं है। <head>
इसे HTML पेज के अनुभाग में लिखें :
<meta http-equiv="refresh" content="0; url=example.com" />
जैसे ही पेज 0 सेकंड पर लोड होता है, आप अपने पेज पर जा सकते हैं।
जहां तक मैं उन्हें समझता हूं, इस प्रश्न के लिए मैंने अब तक जितने भी तरीके देखे हैं, वे पुराने स्थान को इतिहास से जोड़ते हैं। पृष्ठ को पुनर्निर्देशित करने के लिए, लेकिन इतिहास में पुराना स्थान नहीं है, मैं replace
विधि का उपयोग करता हूं :
<script>
window.location.replace("http://example.com");
</script>
यह सब कुछ मैं चाहता था के साथ एक पुनर्निर्देशित समाधान है, लेकिन कट और पेस्ट करने के लिए एक अच्छा साफ स्निपेट में नहीं मिल सकता है।
इस स्निपेट के कई फायदे हैं:
कैसे इस्तेमाल करे:
यदि आपने एक पूरी साइट को माइग्रेट किया है तो पुराने सर्वर पर मूल साइट को बंद करें और इस फाइल के साथ एक और बनाएं रूट फ़ोल्डर में डिफ़ॉल्ट index.html फ़ाइल। साइट सेटिंग्स संपादित करें ताकि कोई भी 404 त्रुटि इस index.html पृष्ठ पर पुनर्निर्देशित हो। यह किसी को भी पकड़ता है जो पुरानी साइट को एक उप-स्तरीय पृष्ठ आदि के लिंक के साथ एक्सेस करता है।
अब ओपनिंग स्क्रिप्ट टैग पर जाएं और oldsite और newSite वेब एड्रेस को एडिट करें, और आवश्यकतानुसार सेकंड वैल्यू बदलें।
सहेजें और अपनी वेबसाइट शुरू करें। काम किया - एक कॉफी के लिए समय।
<!DOCTYPE html>
<html>
<head>
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
<META HTTP-EQUIV="EXPIRES" CONTENT="Mon, 22 Jul 2002 11:12:01 GMT">
<style>
body { margin: 200px; font: 12pt helvetica; }
</style>
</head>
<body>
</body>
<script type="text/javascript">
// Edit these to suit your needs.
var oldsite = 'http://theoldsitename.com'
var newSite = "https://thenewsitename.com";
var seconds = 20; // countdown delay.
var path = location.pathname;
var srch = location.search;
var uniq = Math.floor((Math.random() * 10000) + 1);
var newPath = newSite + path + (srch === '' ? "?" + uniq : srch + "&" + uniq);
document.write ('<p>As part of hosting improvements, the system has been migrated from ' + oldsite + ' to</p>');
document.write ('<p><a href="' + newPath + '">' + newSite + '</a></p>');
document.write ('<p>Please take note of the new website address.</p>');
document.write ('<p>If you are not automatically redirected please click the link above to proceed.</p>');
document.write ('<p id="dvCountDown">You will be redirected after <span id = "lblCount"></span> seconds.</p>');
function DelayRedirect() {
var dvCountDown = document.getElementById("dvCountDown");
var lblCount = document.getElementById("lblCount");
dvCountDown.style.display = "block";
lblCount.innerHTML = seconds;
setInterval(function () {
seconds--;
lblCount.innerHTML = seconds;
if (seconds == 0) {
dvCountDown.style.display = "none";
window.location = newPath;
}
}, 1000);
}
DelayRedirect()
</script>
</html>
जावास्क्रिप्ट का उपयोग कर अप्रत्यक्ष रूप से <noscript>
जेएस अक्षम है।
<script>
window.location.replace("https://google.com");
</script>
<noscript>
<a href="https://google.com">Click here if you are not redirected automatically.</a>
</noscript>
इस कोड का उपयोग करें:
<meta http-equiv="refresh" content="0; url=https://google.com/" />
कृपया ध्यान दें: इसे हेड टैग में डालें।
आप इसे जावास्क्रिप्ट में कर सकते हैं:
location = "url";
आप इसका उपयोग कर सकते हैं
<meta http-equiv="refresh" content="0; url=http://newpage.com/" />