这才是智慧的结局。我的项目设置如下:
static web hosting: www.myproject.com
+subdomain api.myproject.com
+A record -> AWS Beanstalk
API (Beanstalk)
+/v1 non HTTPS
+/v2 HTTPS
我需要在api.myproject.com/v2
上强制实施HTTPS,但允许未加密的流量继续流向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。 谢谢