php - 仅在具有 .htaccess 的特定页面上使用 HTTPS

标签 php .htaccess ssl redirect

我有一个 URL,例如 http://www.domain.com/index.php?p=register。我想将其重定向以将 HTTPS (SSL) 与 .htaccess 一起使用,但仅限于此页面和其他几个页面(登录页面等),而不是整个站点。 URL 不指向目录,但用于动态包含不同的文件。

有人可以给我一个指示或示例,说明如何将单个页面重定向到 HTTPS 吗?

谢谢。

最佳答案

不是 htaccess,但另一种方法可能是使用 PHP 重定向:

<?php

$redirectlist = array('register','login','myaccount');

if (in_array($_GET['p'], $redirectlist) && strtolower($_SERVER['HTTPS']) != 'on') {
    exit(header("location: https://{$_SERVER['SERVER_NAME']}{$_SERVER['REQUEST_URI']}"));
}

?>

我提到这个的唯一原因是,在某些情况下,这可能比单独的 htaccess 更容易维护。在输出任何文本之前,您需要将它放在 PHP 内容中(请参阅 header())。

关于php - 仅在具有 .htaccess 的特定页面上使用 HTTPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4837657/

相关文章:

php - 如何获取页面的完整查询字符串

apache - 无法上传 ssl 私钥解析

.htaccess - 将域上的所有传入流量重定向到非 www HTTPS

php - 区域子域

php - 如何检查变量是否在PHP中通过引用传递

php - 用户注册后重定向到登录页面。拉维尔 5.4

windows - makecert 给出 "Fail to acquire a security provider from the issuer' 的证书”——为什么?

ssl - 无法从 Chef 工作站 ssl 连接到 Chef 服务器

java - 是否有与传输无关的 java tls 服务器实现?

php - 查找最近 n 个帖子中的用户帖子数