使用.htaccess为https将www URL重定向到非www

使用.htaccess为https将www URL重定向到非www,.htaccess,redirect,ssl,.htaccess,Redirect,Ssl,请提供.htaccess语法以执行以下操作: 从http重定向到https 从重定向到 我尝试了以下方法,但无效: 重写cond%{HTTP_HOST}^www.(.*) 重写规则^.*$$1[R=301,L] 尝试将以下内容添加到域根文件夹中的htaccess文件中 RewriteEngine on RewriteBase / #if not domain.com.uk then redirect to domaim.com.uk RewriteCond %{HTTP_HOST} !^dom

请提供.htaccess语法以执行以下操作:

  • http重定向到https
  • 重定向到
  • 我尝试了以下方法,但无效:

    重写cond%{HTTP_HOST}^www.(.*)

    重写规则^.*$$1[R=301,L]


    尝试将以下内容添加到域根文件夹中的htaccess文件中

    RewriteEngine on
    RewriteBase /
    
    #if not domain.com.uk then redirect to domaim.com.uk
    RewriteCond %{HTTP_HOST} !^domain\.com\.uk$ [NC]
    RewriteRule .* http://domain.com.uk%{REQUEST_URI} [L,R=301]
    
    #if not https
    RewriteCond %{HTTPS} off
    #redirect to https
    RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    

    对我来说,这项工作刚刚测试过。所以
    http://www.domain.com.uk 进入https://domain.com.uk

    将http重定向到https正常工作,但没有从www.domain.com.uk重定向到domain.com。uk@RamyAllam在.htaccess文件中是否有其他规则?规则是否与上述规则完全相同,并按顺序排列?如果其中任何一个不同,则可能会影响结果。htaccess中没有任何其他规则,我使用相同的语法添加了它。。我还试图将它直接放入RewriteBase/#上的httpd.conf RewriteEngine中,如果不是domain.com.uk,则重定向到domaim.com.uk RewriteCond%{HTTP_HOST}^domain\.com\.uk$[NC]RewriteRule.{REQUEST_URI}[L,R=301]#如果不是https RewriteCond%{https}off#重定向到https RewriteRule.*https://%{HTTP_HOST}%{REQUEST_URI}[L,R=301]而且它也不起作用。@Ramyalam看起来您在重定向中缺少了
    http://
    ,即它应该是
    RewriteRule.*http://domain.com.uk%{REQUEST_URI}[L,R=301]
    。没有它就不行。很抱歉,我没有理解你最后的评论。我希望给我更多的细节或键入完整的语法谢谢
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^(www.)?domain.com.uk
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://domain.com.uk/$1 [R=301,L]