лучшим способом страницы перенаправления/перезагрузки в PHP

Потоковая библиотека IO была добавлена к стандартной библиотеке C++ перед STL. Для не повреждения обратной совместимости было решено постараться не изменять библиотеку IO, когда STL был добавлен, даже если это означало некоторые проблемы как та, которую Вы повышаете.

10
задан computingfreak 11 April 2017 в 07:20
поделиться

6 ответов

header('Location: http://www.example.com/', true, 302);
exit;

Ссылка: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

редактировать:

Этот ответ кэшируется, только если обозначается Cache-Control или Поле заголовка истекает.

26
ответ дан 3 December 2019 в 13:15
поделиться

Лучший способ перезагрузить страницу и заставить ее не извлекаться из кеша - это добавить случайный идентификатор или временную метку в конец URL-адреса в виде строки запроса. Это делает запрос каждый раз уникальным.

7
ответ дан 3 December 2019 в 13:15
поделиться

Попробуйте следующее:

echo '<script>document.location.replace("someurl.php");</script>';

Это должно заменить историю браузера, но не кеш.

3
ответ дан 3 December 2019 в 13:15
поделиться

Самый безопасный способ - использовать перенаправление заголовка

header('Location: http://www.example.com/', true, 302);
exit;

Но учтите, что он должен быть отправлен ДО того, как любой другой вывод будет отправлен в браузер.

0
ответ дан 3 December 2019 в 13:15
поделиться
function redirect($url) {
    if(!headers_sent()) {
        //If headers not sent yet... then do php redirect
        header('Location: '.$url);
        exit;
    } else {
        //If headers are sent... do javascript redirect... if javascript disabled, do html redirect.
        echo '<script type="text/javascript">';
        echo 'window.location.href="'.$url.'";';
        echo '</script>';
        echo '<noscript>';
        echo '<meta http-equiv="refresh" content="0;url='.$url.'" />';
        echo '</noscript>';
        exit;
    }
}

// How to use
$url = "www.google.com";
redirect($url);
24
ответ дан 3 December 2019 в 13:15
поделиться
header('Location: http://example.com/path/to/file');
1
ответ дан 3 December 2019 в 13:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: