内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用
我只想强制作为HTTPS页面访问一个页面(Apache上的PHP)。如何做到这一点,而不使整个目录需要HTTPS?或者,如果您从HTTP页面向HTTPS页面提交表单,它是通过HTTPS而不是HTTP发送的吗?
以下是我的例子:
http://www.example.com/some-page.php
我希望它只能通过以下途径访问:
https://www.example.com/some-page.php
当然,我可以把这个页面的所有链接都指向HTTPS版本。
我认为有一件事是在PHP文件的头中放置一个重定向,以检查它们是否正在访问HTTPS版本:
if($_SERVER["SCRIPT_URI"] == "http://www.example.com/some-page.php"){ header('Location: https://www.example.com/some-page.php'); }
但这不可能是正确的方式,对吧?
<Location /buyCrap.php> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} </Location>
if($_SERVER["HTTPS"] != "on") { header("Location: https://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]); exit(); }