.htaccess - 使用 Slim API 框架通过 htaccess 将 http 转发到 https
问题描述
我正在尝试保护使用 Slim 框架并使用 htaccess 文件将所有流量转发到允许 API 工作的 index.php 的 API。
例如,使用 htaccess 中的以下设置调用http://api.mydomainname.co.uk/expert/id=MB7763255可以完美地工作:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]
现在我正在尝试将所有 HTTP 流量强制到 HTTPS,并且我在 htaccess 文件中尝试了许多变体,这些变体确实转发了流量,但随后停止了我的 Web 服务工作,显示“404 未找到”。
这是我一直在尝试的:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
或者...
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%/index.php [R=301,L]
两者都没有成功 - 任何人都可以指出我正确的方向,因为我已经用尽了 Stack Overflow 和 Google。
解决方案
解决它!我会为其他遇到同样问题的人发布这个。
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]
推荐阅读
- python - #quickfix 导入在 windows10 中失败
- c# - 为什么在 C# 中的二维数组中按列写入速度很慢
- date - 用户提交日期的 Google Apps 脚本的日期数学
- amazon-web-services - 解锁后的 S3 对象锁定行为
- python - 从python中的熊猫数据框的每一列创建列表嵌套
- mysql - Bash 脚本无法连接远程 MySQL,但可以手动访问它
- huawei-mobile-services - 无法发送通知 [error: 80300002] (HMS Core Push Kit) - Web App
- node.js - 使用 Postgres pg 和节点执行多个查询时连接重置
- aws-iot - AWS Freertos 是否有任何代码示例可用于实施 DHCP 服务器和 HTTPS 服务器?
- java - 有没有办法将 byte[] 发射到 React Native JS Bridge,反之亦然?