首页 > 解决方案 > 如何只接受 HTTPS 请求而拒绝 HTTP?

问题描述

您好,我的网站托管在 Hostinger 上,并且我启用了它以强制使用 HTTPS,因此当人们编写http://example.com时,它会转到https://example.com。我有一个 API 可以处理来自我的程序的 POST。我已经有我的 api 处理请求,但我不知道如何“过滤”HTTPS。现在我的 API 接受任何请求(http 或 https),但我希望它忽略或阻止 HTTP 请求,并且只回答 HTTPS。

@edit:在评论中使用了建议并附带以下内容:RewriteEngine on RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://% {HTTP_HOST}%{REQUEST_URI} [L,R=301]

当我执行 HTTPS 请求时它可以工作,但是当我执行 HTTP 请求时,它会发出请求,但是当我回显在正文上发送的变量时,它们是空的。

标签: phpapihttps

解决方案


请在下面设置重写规则.htaccess

RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

它为我工作


推荐阅读