web-dev-qa-db-fra.com

Forcer la redirection HTTPS 301 avec hook

J'essaie de forcer une redirection 301 https avec accrochage dans la fonction 'template redirect'. Je veux ne pas le faire htaccess parce que lorsque je mets à jour mes permaliens, htaccess avec la redirection https disparaît.

Donc, avec cette fonction, je veux faire une redirection si l'URL est chargée avec 'http', mais rien ne se passe. Y a-t-il quelqu'un qui peut m'aider avec ça?

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 );
            exit();
        } else {
            wp_redirect( 'http://' . $_SERVER['HTTP_Host'] . $_SERVER['REQUEST_URI'], 301 );
            exit();
        }
    }
}
1
Robbert

Nous pouvons ajouter des https de manière très simple .... Pas besoin de coder tout cela dans n'importe quel crochet ....

  1. Connectez-vous à wordpress admin
  2. Allez dans Paramètres> Général
  3. Rechercher une adresse WordPress (URL) et remplacer HTTP par HTTPS
  4. Trouver l'adresse du site (URL) et remplacer HTTP par HTTPS
  5. Cliquez sur Enregistrer les modifications

Éditez le fichier .htaccess et ajoutez le code ci-dessous

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

Installez le plugin wordpress-https et configurez-le ....

C'est tout

0
Bikram Pahi