使用不以http开头的htaccess重写网址到https

时间:2016-12-19 16:07:21

标签: .htaccess http mod-rewrite https

好吧,我的问题是这个,我的网址不是以http或www开头的,至少不是在地址栏中。

所以我的旧的htaccess重写规则工作正常,但是没有检查协议。 因此,当有人在domain.com中输入时,它不会被重定向到https网址。 我怎么能解决这个问题,我已尝试在网上找到多种解决方案,但不知怎的,它打破了网站。

因此,当我输入以下网址时,它确实有效并删除了" www"

  1. www.someurl.com
  2. ww.someurl.com/something
  3. 当我输入以下网址时,它不起作用,它仍然从http

    加载
    1. someurl.com
    2. someurl.com/withsomething
    3. RewriteCond %{HTTPS} !=on
      RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
      RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
      

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

      提前致谢

1 个答案:

答案 0 :(得分:0)

也许这有帮助?

RewriteCond %{HTTP_HOST} ^!www.example.com
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]