.htaccess - htAccess 在子域+文件夹上强制执行 HTTPS
问题描述
斗智斗勇就这样结束了。我的项目设置如下:
static web hosting: www.myproject.com
+subdomain api.myproject.com
+A record -> AWS Beanstalk
API (Beanstalk)
+/v1 non HTTPS
+/v2 HTTPS
我需要强制启用 HTTPS,api.myproject.com/v2
但允许非加密流量继续流向api.myproject.com/v1
下面是我目前的 htaccess。我根据我的阅读尝试了很多变化,都失败了。我能够重定向所有 www 流量,所以我知道该文件是有效的。
RewriteEngine on
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^api\.myproject\.com$ [NC]
RewriteCond %{REQUEST_URI} v1
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
我将其阅读为如果不是 https 并且主机是 api.myproject.com 并且 uri 包含 v1 然后重定向到 HTTPS。谢谢
解决方案
推荐阅读
- symfony - 如何在 Symfony3.4 中通过用户名使用 Lock 组件
- qt - 如何测量 QML 文件中的导入时间?
- amazon-ec2 - 如何调用具有变量的资源名称
- javascript - 无法在表格行上设置焦点
- python - 检查 2 个值是否在嵌套列表中并打印列表的值
- typescript - 是否可以从数组创建打字稿类型?
- spring - 使用分区器 Spring Batch 限制线程
- javascript - 尝试使用 Javascript 获取 Outlook 日历事件,收到 401 Unauthorized 错误?
- ruby-on-rails - 如何在查询中映射 id
- spring - 如何根据postgres的jsonb列的where条件使用jpa在spring boot中选择数据(无本机查询)?