I am trying to force a 301 https redirect with hooking into the 'template redirect' function. I want not doing it a htaccess because when I update my permalinks, htaccess with https redirect disappears.

So with this function I want to do a redirect if the url is loaded with 'http', but nothing happens. Is there anyone who can help me with this?

add_action( 'template_redirect', 'bhww_ssl_template_redirect', 1 );
function bhww_ssl_template_redirect() {
    if ( is_ssl() && !is_admin() ) {
        if ( 0 === strpos( $_SERVER['REQUEST_URI'], 'http' ) ) {
            wp_redirect( preg_replace( '|^https://|', 'http://', $_SERVER['REQUEST_URI'] ), 301 );
        } else {
            wp_redirect( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 301 );

We can add https in very simple way.... No need to had code all these in any hook....

  1. Log in to wordpress admin
  2. Go to Settings > General
  3. Find WordPress Address (URL) and Replace HTTP with HTTPS
  4. Find Site Address (URL) and Replace HTTP with HTTPS
  5. Click Save Changes

Edit .htaccess file and add bellow code

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^huepixel\.com$ [NC]
RewriteRule ^ https://www.huepixel.com%{REQUEST_URI} [L,R=301]

Install wordpress-https Plugin and configure it....

That's All

  • Have done that, but my Wordpress doesn't redirect automatically.. – Robbert Dec 19 '14 at 13:48
  • Its working fine for me.... Here is my domain huepixel.com – Bikram Pahi Dec 19 '14 at 13:50
  • You mean it works with the wordpress-https plugin or with no plugin at all? – Robbert Dec 22 '14 at 8:22
  • I used wordpress-https plugin – Bikram Pahi Dec 22 '14 at 14:45
  • I have activated the plugin too and it works! Thanks – Robbert Dec 22 '14 at 20:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.