HTTPS Force Redirect not working in Wordpress

前端 未结 2 1622
梦谈多话
梦谈多话 2021-02-01 07:39

My Wordpress directory is at www.example.com/blog

I recently changed my entire site to force HTTPS. So my .htaccess file in /blog/ looks like this:



        
相关标签:
2条回答
  • 2021-02-01 08:26

    Change the order of the rules. First redirect to https and then let WP take over all of your requests.

    <IfModule mod_rewrite.c>
    RewriteEngine On
    
    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    
    RewriteBase /blog/
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /blog/index.php [L]
    </IfModule>
    
    0 讨论(0)
  • 2021-02-01 08:36

    You can also add these two lines to the wp-config.php

    define('WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST']);
    define('WP_HOME', 'https://' . $_SERVER['HTTP_HOST']);
    

    So you could easily make conditions for http for dev environment and https for live like so:

    if(strpos($_SERVER['HTTP_HOST'], 'livedomain.com') !== FALSE){
      define('WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST']);
      define('WP_HOME', 'https://' . $_SERVER['HTTP_HOST']);
    } else {
      define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']);
      define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);
    }
    
    0 讨论(0)
提交回复
热议问题