Maison > développement back-end > tutoriel php > Comment appliquer SSL/HTTPS à l'aide de .htaccess et mod_rewrite ?

Comment appliquer SSL/HTTPS à l'aide de .htaccess et mod_rewrite ?

DDD
Libérer: 2024-12-30 12:24:17
original
251 Les gens l'ont consulté

How to Enforce SSL/HTTPS Using .htaccess and mod_rewrite?

Application de SSL/HTTPS avec .htaccess et mod_rewrite

Pour appliquer SSL/HTTPS avec .htaccess et mod_rewrite, plusieurs approches sont disponibles.

Utilisation mod_ssl

mod_ssl d'Apache fournit la directive SSLRequireSSL, qui restreint l'accès à moins que HTTPS ne soit activé. En ajoutant cette directive à l'hôte virtuel ou aux répertoires compatibles SSL, vous pouvez empêcher l'exposition des données sensibles. Cependant, cette méthode ne redirige pas vers HTTPS.

Utilisation de mod_rewrite

Pour rediriger vers HTTPS, utilisez mod_rewrite dans votre fichier .htaccess :

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Copier après la connexion

Approches alternatives

Options supplémentaires pour l'application de HTTPS inclut :

  • Les méthodes décrites dans « HTTP-HTTPS (redirection SSL) avec RewriteRule » : http://www.askapache.com/htaccess/http-https-rewriterule-redirect.html

Solution basée sur PHP

Dans cas où .htaccess est désactivé, PHP peut être utilisé :

if (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] !== 'on') {
    if(!headers_sent()) {
        header("Status: 301 Moved Permanently");
        header(sprintf(
            'Location: https://%s%s',
            $_SERVER['HTTP_HOST'],
            $_SERVER['REQUEST_URI']
        ));
        exit();
    }
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal