skip to Main Content

after an analysis of the woorank site, i have this result

enter image description here

So i try to add a 301 redirection for https://monsite.com to https://www.monsite.com

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

But it’s doesnt work. For information, i use the default htaccess

# BEGIN WordPress
# Les directives (lignes) entre « BEGIN WordPress » et « END WordPress » sont générées
# dynamiquement, et doivent être modifiées uniquement via les filtres WordPress.
# Toute modification des directives situées entre ces marqueurs sera surchargée.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Thnaks in advance

2

Answers


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

    This rule is only redirecting to https site, not adding www. You can use this rule to do both redirections in a single rule:

    ## add www and turn on https in same rule
    RewriteCond %{HTTP_HOST} !^www. [NC,OR]
    RewriteCond %{HTTPS} !on
    RewriteCond %{HTTP_HOST} ^(?:www.)?(.+)$ [NC]
    RewriteRule ^ https://www.%1%{REQUEST_URI} [R=302,L,NE]
    

    Once you verify it is working fine, replace R=302 to R=301. Avoid using R=301 (Permanent Redirect) while testing your mod_rewrite rules.


    Your full .htaccess

    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} !^www. [NC,OR]
    RewriteCond %{HTTPS} !on
    RewriteCond %{HTTP_HOST} ^(?:www.)?(.+)$ [NC]
    RewriteRule ^ https://www.%1%{REQUEST_URI} [R=301,L,NE]
    
    RewriteRule ^index.php$ - [L]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . index.php [L]
    
    Login or Signup to reply.
  2. I have often found that plugins handle this better than trying to do it manually with the .htaccess file, so you could try that as an alternative.

    Here are some options in this article:
    https://cheapsslsecurity.com/p/best-http-to-https-wordpress-plugins/

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search