[英]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文件并将内容显示在屏幕上。
RewriteRule ^(.*)\.html$ check_page.php?page=$1 [L, QSA]
<?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.