Перенаправление со страницы HTML - PullRequest
1483 голосов
/ 23 марта 2011

Можно ли настроить базовую страницу HTML для перенаправления на другую страницу при загрузке?

Ответы [ 26 ]

5 голосов
/ 08 октября 2015

Бритвенный двигатель с 5-секундной задержкой:

<meta http-equiv="Refresh"
         content="5; url=@Url.Action("Search", "Home", new { id = @Model.UniqueKey }))">
4 голосов
/ 05 июля 2016

Вам не нужен код JavaScript для этого. Напишите это в разделе <head> HTML-страницы:

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

Как только страница загружается через 0 секунд, вы можете перейти на свою страницу.

3 голосов
/ 25 апреля 2018

Насколько я понимаю, все методы, которые я видел до сих пор для этого вопроса, похоже, добавляют старую позицию в историю.Чтобы перенаправить страницу, но у меня нет старого местоположения в истории, я использую метод replace:

<script>
    window.location.replace("http://example.com");
</script>
2 голосов
/ 19 марта 2018

Это решение для перенаправления со всем, что я хотел, но не смог найти в хорошем чистом фрагменте для вырезания и вставки.

Этот фрагмент имеет ряд преимуществ:

  • позволяет вам перехватывать и сохранять любые параметры строки запроса, которые есть у людей в 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>&nbsp;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>
0 голосов
/ 11 апреля 2019

Вы можете сделать это в JavaScript:

location = "url";
0 голосов
/ 05 марта 2018

Используйте этот код:

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

Пожалуйста, обратите внимание: поместите его в тег головы.

...