පැටවූ වෙනත් පිටුවකට හරවා යැවීම සඳහා මූලික HTML පිටුවක් සැකසිය හැකිද?
පැටවූ වෙනත් පිටුවකට හරවා යැවීම සඳහා මූලික HTML පිටුවක් සැකසිය හැකිද?
Answers:
භාවිතා කිරීමට උත්සාහ කරන්න:
<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 තත්ව කේතයක් යවන්න . Apache.htaccess
භාවිතා කරන ලිපිගොනු හරහා හෝ වර්ඩ්ප්රෙස් භාවිතා කරන ප්ලගීන හරහා මෙය කිරීම පහසුය . සියලුම ප්රධාන අන්තර්ගත කළමනාකරණ පද්ධති සඳහා ප්ලගීන ද ඇති බව මට විශ්වාසයි. ඔබේ සේවාදායකයේ ස්ථාපනය කර ඇත්නම්, යළි-යොමුවීම් 301 ක් සඳහා cPanel ඉතා පහසු වින්යාසයක් ඇත.
body
ටැග් අතහැර දැමීමේ ලොකු රසිකයෙක් නොවේ . සමහර විට එය වලංගු වන අතර සමහර විට පොදු බ්රව්සර් වල ක්රියා කරයි. මට විශ්වාසයි, එය ගැටළු ඇති කරන අවස්ථා කිහිපයක් ඇති අතර, ප්රතිලාභය කුඩා බව පෙනේ.
click here
තිරය පාඨකයා අමාරු ගමන් කිරීමට වනු ඇත ලෙස සබැඳියක්, උපදෙස් දෙන්නේ නැහැ. සබැඳි ගමනාන්තය විස්තර කරන පෙළ මත තිබිය යුතුය, එබැවින් එය අනුගමනය කිරීමට පෙර ඔවුන් පැමිණෙන්නේ කොතැනට දැයි පරිශීලකයා දනී, කෙසේ වෙතත් ඔවුන් එය සමඟ අන්තර්ක්රියා කරයි.
ඔබගේ SEO පුද්ගලයින්ට උපකාර කිරීම සඳහා මම කැනොනිකල් සබැඳියක් ද එක් කරමි :
<link rel="canonical" href="http://www.example.com/product.php?item=swedish-fish"/>
හිස ඇතුළත තබා ඇති පහත දැක්වෙන මෙටා ටැගය බ්රව්සරයට යළි හරවා යැවීමට කියයි:
<meta http-equiv="Refresh" content="seconds; url=URL">
නැවත හරවා යැවීමට පෙර බලා සිටීමට තත්පර ගණන සමඟ තත්පර ප්රතිස්ථාපනය කරන්න, සහ යූආර්එල් යලි යොමු කිරීමට අවශ්ය URL සමඟ එය ප්රතිස්ථාපනය කරන්න.
විකල්පයක් ලෙස, ඔබට ජාවාස්ක්රිප්ට් සමඟ යළි හරවා යැවිය හැකිය. පිටුවේ ඕනෑම තැනක ස්ක්රිප්ට් ටැගයක මෙය තබන්න:
window.location = "URL"
මෙය පෙර පැවති සෑම පිළිතුරකම එකතුවක් වන අතර .htaccess හරහා HTTP Refresh Header භාවිතා කරන අතිරේක විසඳුමකි
1. HTTP Refresh Header
පළමුවෙන්ම, ඔබට මේ වගේ නැවුම් ශීර්ෂයක් සැකසීමට .htaccess භාවිතා කළ හැකිය
Header set Refresh "3"
මෙය PHP හි header()
ශ්රිතය භාවිතා කිරීමට සමාන “ස්ථිතික” වේ
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 යළි-යොමුවීමක් සැකසීම වඩා හොඳය . යළි-යොමුවීම් ගූගල් හි වෙබ්මාස්ටර් මෙවලම් ලිපිය බලන්න .
ඔබ නවීන වෙබ් ප්රමිතීන් අනුගමනය කිරීමට බලාපොරොත්තු වන්නේ නම්, ඔබ සරල 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"
හි W3C විසින් ඉවත් කරනු ලැබුවේ ඇයිද යන්න පිළිබඳ විස්තර ඇතුළත් වේ .
ඔබට META "යළි-යොමුවීමක්" භාවිතා කළ හැකිය :
<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
බොඩි ටැගයේ ඔන්ලෝඩ් සිදුවීම භාවිතා කරන්න:
<body onload="window.location = 'http://example.com/'">
තත්පර 5 ක ප්රමාදයක් සඳහා රේසර් එන්ජිම :
<meta http-equiv="Refresh"
content="5; url=@Url.Action("Search", "Home", new { id = @Model.UniqueKey }))">
මම ඒවා තේරුම් ගත් තාක් දුරට, මෙම ප්රශ්නය සඳහා මා මෙතෙක් දැක ඇති සියලුම ක්රම පැරණි ස්ථානයට ඉතිහාසයට එක් කරන බවක් පෙනේ. පිටුව හරවා යැවීමට, නමුත් ඉතිහාසයේ පැරණි ස්ථානයක් නොමැත, මම replace
ක්රමය භාවිතා කරමි :
<script>
window.location.replace("http://example.com");
</script>
මෙය මට අවශ්ය සියල්ල සමඟ යළි-යොමුවීමේ විසඳුමක් වන නමුත් කැපීමට හා ඇලවීමට හොඳ පිරිසිදු ස්නිපටයක සොයාගත නොහැකි විය.
මෙම ස්නිපටයට වාසි ගණනාවක් ඇත:
භාවිතා කරන්නේ කෙසේද:
ඔබ සම්පූර්ණ වෙබ් අඩවියකට සංක්රමණය වී ඇත්නම්, පැරණි සේවාදායකයේ මුල් වෙබ් අඩවිය නවතා මූල ගොනුවේ පෙරනිමි index.html ගොනුව ලෙස මෙම ගොනුව සමඟ තවත් එකක් සාදන්න. අඩවි සැකසුම් සංස්කරණය කරන්න එවිට ඕනෑම 404 දෝෂයක් මෙම index.html පිටුවට හරවා යවනු ලැබේ. මෙය පැරණි වෙබ් අඩවියට සබැඳියක් සමඟ උප මට්ටමේ පිටුවකට පිවිසෙන ඕනෑම කෙනෙකුට හසු වේ.
දැන් ආරම්භක ස්ක්රිප්ට් ටැගය වෙත ගොස් ඕල්ඩ්සයිට් සහ නිව්සයිට් වෙබ් ලිපින සංස්කරණය කර තත්පර අගය අවශ්ය පරිදි වෙනස් කරන්න.
ඔබේ වෙබ් අඩවිය සුරකින්න සහ ආරම්භ කරන්න. රැකියාව ඉවරයි - කෝපි එකක් සඳහා වේලාව.
<!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>
මෙම කේතය භාවිතා කරන්න:
<meta http-equiv="refresh" content="0; url=https://google.com/" />
කරුණාකර අවධානය යොමු කරන්න: එය ප්රධාන ටැගයෙහි තබන්න.
ඔබට එය javascript වලින් කළ හැකිය:
location = "url";
ඔබට මෙය භාවිතා කළ හැකිය
<meta http-equiv="refresh" content="0; url=http://newpage.com/" />
<noscript>
JS අක්රීය කර ඇති අවස්ථාවකදී JavaScript භාවිතයෙන් යළි හරවා යැවීම.
<script>
window.location.replace("https://google.com");
</script>
<noscript>
<a href="https://google.com">Click here if you are not redirected automatically.</a>
</noscript>