Это решение для перенаправления со всем, что я хотел, но не смог найти в хорошем чистом фрагменте для вырезания и вставки.
Этот фрагмент имеет ряд преимуществ:
- позволяет вам перехватывать и сохранять любые параметры строки запроса, которые есть у людей в URL-адресе
- делает ссылку необязательной, чтобы избежать нежелательного кэширования
- позволяет информировать пользователей о старых и новых именах сайтов
- показывает настраиваемый обратный отсчет
- может использоваться для перенаправлений с глубокими ссылками при сохранении параметров
Как использовать:
Если вы перенесли весь сайт, то на старом сервере остановите исходный сайт и создайте другой с этим файлом в качестве файла index.html по умолчанию в корневом каталоге.папка.Измените настройки сайта, чтобы любая ошибка 404 была перенаправлена на эту страницу index.html.Это ловит любого, кто обращается к старому сайту со ссылкой на страницу подуровня и т. Д.
Теперь перейдите к открывающему тегу сценария и отредактируйте веб-адреса oldsite и newSite, а также измените значение секунд по мере необходимости.1023 *
Сохраните и запустите ваш сайт.Работа сделана - время для кофе.
<!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>