.htaccess - 重定向到 HTTP 非 www 到 HTTPS www htaccess

标签 .htaccess

我想使用 HTTPS 协议(protocol)从任何方向重定向到我们的网站,但有些重定向不起作用。我要这个:

  • http://www.site.cohttps://www.site.co
  • http://site.cohttps://www.site.co

  • 这是我的 htaccess:
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://www.domain.com/$1 [L,R=301] 
    
    RewriteCond %{HTTP_HOST} !^www\.
    RewriteRule ^(.*)$ https://www.domain.com/$1 [L,R=301]
    

    第二条规则不起作用。它会在我们的站点内转到另一个方向,并且不会重定向到 HTTPS 站点。

    最佳答案

    试试这样:

    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
    
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301] 
    

    这里唯一真正的区别是,首先我们从非 WWW 重定向到 WWW,然后我们检查 HTTPS 并重定向它。

    如果它不起作用,试试这个:
    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
    
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301] 
    

    关于.htaccess - 重定向到 HTTP 非 www 到 HTTPS www htaccess,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17453412/

    相关文章:

    php - 通过 .htaccess 更改 PHP 中的 URL

    apache - 将 www.subdomain.example.com 重定向到 subdomain.example.com

    apache - 我想从 url 中删除 app.php,但是如何呢?

    .htaccess - ".htaccess"文件可以与 npm 的 "http-server"命令一起使用吗?

    .htaccess - 301 重定向页面不工作 opencart

    php - htaccess 中的 AddType 导致页面下载

    apache - 重定向 https ://www to https://non-www - without seeing certificate error, 可能吗?

    .htaccess - 使用 htaccess 在特定日期/时间重定向

    php - 请为初学者解释这个 .htaccess 文件

    apache - 捕获所有 .htaccess - 仅当之前未找到任何内容时