簡體   English   中英

從.html頁面重定向非登錄用戶?

[英]Redirecting non logged-in users from .html pages?

我正在一個舊的和過時的站點上做一些拼湊。 它基於PHP,但是沒有框架,並且一堆頁面是靜態的(.html)。

我為該站點創建了一個簡單的登錄系統,但是現在客戶端希望該系統也能用於靜態頁面-基本上,未登錄的成員應從其中重定向。

但是,由於通常沒有會話,沒有包含,也沒有PHP代碼,所以我不確定如何進行。 我唯一的想法是在頁面加載之前發送AJAX請求,以檢查是否存在會話,如果沒有,則執行客戶端重定向,但這似乎有些粗略。

客戶端不希望使用HTTP身份驗證彈出窗口,而是希望使用新的PHP登錄系統。

有人來過這種情況嗎? 任何不涉及我進入每個文件的解決方案,將它們重命名為.php並更新網站上的所有鏈接以反映這一點,那將是一個救命稻草。

我認為這個問題的解決方案實際上是AJAX

但是,如果apache或php服務器中的HTML頁面,則可以創建一個.htaccess來讀取頁面是否為.html並傳遞給page_check.php並通過腳本檢查是否已登錄並重定向或簡單地讀取.html文件並將內容顯示在屏幕上。

htaccess的

RewriteRule ^(.*)\.html$ check_page.php?page=$1 [L, QSA]

PHP

<?php
$page = $_GET['page'];

$file = getcwd() . $page;
// check if logged and redirect
...

// if not redirected then 
if(file_exists($page)){
    $content = file_get_contents($file);
    header('Content-Type: text/html');
    echo $content;
} else {
    // redirect if file no exists
    header('Location: 404.php');
}

?>

我希望這會給您一個方向。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM