Angularjs HTTP重定向到HTTPS,同时保留角度路由(.htaccess)

Angularjs HTTP重定向到HTTPS,同时保留角度路由(.htaccess),angularjs,.htaccess,http,redirect,https,Angularjs,.htaccess,Http,Redirect,Https,我想做的就是阻止站点使用http而不是https。这是我的.htaccess配置。只有www.mywebsite.com和mywebsite.com不使用https。角度路线也可以。如果我写mywebsite.com/signup,它也会使用https。我应该怎么做才能将所有场景重定向到https 场景: www.website.com->非https website.com->非https website.com/signin->https RewriteEngine On Rewrit

我想做的就是阻止站点使用http而不是https。这是我的.htaccess配置。只有www.mywebsite.com和mywebsite.com不使用https。角度路线也可以。如果我写mywebsite.com/signup,它也会使用https。我应该怎么做才能将所有场景重定向到https

场景:

www.website.com->非https

website.com->非https

website.com/signin->https

RewriteEngine On

  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
  RewriteRule ^ - [L]


  RewriteRule ^ /
  RewriteCond %{HTTPS} off
  RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
www.website.com/signin->https

RewriteEngine On

  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
  RewriteRule ^ - [L]


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

前2个重写条件将忽略现有文件和目录,但根目录通常始终存在。尝试移除第一个块

这就足够了:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
要使角度布线起作用,您需要另一个这样的块

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^ index.html

这样,所有非SSL通信都将被重定向。第二部分将把所有内容重写到角度索引文件中,除了现有的目录和文件

没有它们,我的路径无法访问。我拿到了404。如果我只写website.com,我就有500个,我无法用它来达到我的路线。浏览主页没问题,但如果我刷新页面或输入www.mywebsite.com/route1,我得到了404。我尝试了上面的方法,但得到了一个错误:ERR_太多_重定向。有人能验证这两个重定向一起工作吗?我在.htaccess文件中使用了这两个块,但当我通过url转到路由时,我遇到了内部服务器错误。如果我点击应用程序中的链接,它可以正常工作。