在涉及大多数服务器任务时,我有点超出了我的深度,所以请耐心等待我的描述和理解......
我正在尝试使用htaccess在一个子目录中使用Angular应用程序跨域强制使用https。
项目结构
/ public
- .htaccess
- index.html
- styles.css
- main.js
- etc...
/ admin (angular app)
- .htaccess
- index.html
- etc...
我试图在整个域中强制使用https,同时仍然能够深入链接到/ admin(角度)路由。
/public/.htaccess
RewriteEngine On
RewriteCond %{HTTP_HOST} ^site\.co\.uk$ [OR]
RewriteCond %{HTTP_HOST} ^www\.^site\.co\.uk$
RewriteRule ^(.*)$ https://www.site.co.uk/$1 [R,L]
/public/admin/.htaccess
RewriteEngine on
RewriteOptions inherit
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !index
RewriteRule (.*) index.html [L]
所有/ admin路由仍然可以通过普通的http访问,并且不会被重定向。我尝试了$ {SERVER_PORT}&的各种组合。 $ {HTTPS}但这些永远不会触发。它总是似乎返回端口80和https关闭并导致“太多重定向”。