>  기사  >  백엔드 개발  >  단일 PHP 파일 라우팅에서 뒤로 버튼 클릭 시 페이지 새로 고침을 강제하는 방법은 무엇입니까?

단일 PHP 파일 라우팅에서 뒤로 버튼 클릭 시 페이지 새로 고침을 강제하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-26 14:36:03170검색

How to Force Page Refresh on Back Button Click in Single PHP File Routing?

단일 PHP 파일 라우팅을 위해 뒤로 버튼 클릭 시 페이지를 새로 고치는 방법

코드 조각에서 .htaccess를 사용하여 리디렉션하고 있습니다. 모든 트래픽을 단일 index.php 파일로 보내고 매개변수 GET 매개변수를 기반으로 다양한 HTML 페이지를 동적으로 포함합니다. 그러나 뒤로 버튼을 눌러도 페이지가 새로 고쳐지지 않는 문제가 있습니다.

이 문제를 해결하려면 다음 해결 방법 중 하나를 구현하는 것이 좋습니다.

옵션 1:

페이지를 새로 고칠 때마다 업데이트되는 타임스탬프나 고유 번호를 표시하는 새 PHP 파일을 만듭니다. 이 파일은 index.php 파일 하단에 포함되어 뒤로 버튼을 눌렀을 때 페이지를 강제로 새로 고칠 수 있습니다.

<code class="php">// newpage.php
header("Cache-Control: no-store, must-revalidate, max-age=0");
header("Pragma: no-cache");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
echo time();
?></code>
<code class="html"><!-- index.php -->
<!-- ...your existing code... -->
<?php include "newpage.php"; ?></code>

옵션 2:

JavaScript를 사용하여 디스플레이: 없음을 사용하여 숨겨진 입력 필드에 동적으로 생성된 요소의 데이터를 저장합니다. 페이지가 로드되면(onload 이벤트) 숨겨진 필드의 값을 확인하세요. "아니요"인 경우 "예"로 설정하고 계속합니다. "예"인 경우 페이지를 다시 로드하세요.

<code class="html"><input type="hidden" id="refreshed" value="no">
<script type="text/javascript">
  onload = function () {
    var e = document.getElementById("refreshed");
    if (e.value == "no") e.value = "yes";
    else {
      e.value = "no";
      location.reload();
    }
  };
</script></code>

이러한 솔루션은 뒤로 버튼을 눌렀을 때 페이지를 새로 고쳐 복잡한 .htaccess 구성이나 기타 브라우저별 방법 없이도 원하는 기능을 활성화할 수 있습니다.

위 내용은 단일 PHP 파일 라우팅에서 뒤로 버튼 클릭 시 페이지 새로 고침을 강제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.