除 3 个页面外,仅通过 HTTP 访问网站

除 3 个页面外,仅通过 HTTP 访问网站

我只希望有 3 个页面可以通过 HTTPS 访问。所有其他页面都应仅通过 HTTP 访问,如果用户尝试通过 HTTPS 访问该页面,它将重定向到该页面的 HTTP 版本。我尝试了几个 .htaccess 文件,但似乎无法让任何一个文件正常工作。

需要通过 HTTPS 访问的 3 个页面的名称是:enroll.php、payment.php、Registered.php

答案1

假设所有这些页面都在文档根目录中,文件也是如此.htaccess

RewriteCond %{HTTPS} =on
RewriteRule !^(enroll\.php|payment\.php|registered\.php)$ http://www.example.com/$1 [R=301]

RewriteCond %{HTTPS} =off
RewriteRule ^(enroll\.php|payment\.php|registered\.php)$ - [F]

注意大写 - 我已将您的字母改为小写Registered.php,但如果不正确,您需要进行修复。

另外,我故意让您的重定向到 HTTPS 失败。原因是,如果您依赖重定向来捕获代码向未加密地址发送请求的位置,那么您的客户端将在非安全请求中发送敏感数据。不要重定向它。

相关内容