.htaccess 重定向到非www不适用于https中的页面

.htaccess 重定向到非www不适用于https中的页面,.htaccess,redirect,https,rules,no-www,.htaccess,Redirect,Https,Rules,No Www,我正在尝试使用.htaccess添加重定向规则,以实现以下目标: 将所有http页面重定向到https 将所有www http和https页面重定向到非www https My.htaccess代码: RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] RewriteCond %{HTTPS} on RewriteCond %{HTTP_H

我正在尝试使用.htaccess添加重定向规则,以实现以下目标:

  • 将所有http页面重定向到https
  • 将所有www http和https页面重定向到非www https
  • My.htaccess代码:

    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    
    RewriteCond %{HTTPS} on
    RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
    RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
    
    一切正常,除了一个:

    • http重定向到https(所有页面)
    • https www重定向到https非www(主页和子文件夹)
    但不重定向到(两个页面都打开)


    有什么问题?如何编写.htaccess规则以将所有页面重定向到https非www?

    您可以使用此规则删除
    www
    并强制
    https

    RewriteEngine on
    
    RewriteCond %{HTTPS} !=on [OR]
    RewriteCond %{HTTP_HOST} ^www\. [NC]
    RewriteRule ^(.*)$ https://example.com%{REQUEST_URI} [R=301,L,NE]
    
    在测试之前,请确保清除缓存。结合这两条规则也将有助于加快网站的运行速度,而不必运行两条不同的规则