ホームページ > バックエンド開発 > PHPチュートリアル > .htaccess と mod_rewrite を使用してサイト全体またはページごとに SSL/HTTPS を強制する方法は?

.htaccess と mod_rewrite を使用してサイト全体またはページごとに SSL/HTTPS を強制する方法は?

Mary-Kate Olsen
リリース: 2024-12-15 13:30:16
オリジナル
767 人が閲覧しました

How to Enforce SSL/HTTPS Site-Wide or Page-Specifically Using .htaccess and mod_rewrite?

.htaccess と mod_rewrite を使用してサイト全体またはページ固有に SSL/HTTPS を強制する方法

PHP で SSL/HTTPS 強制を実装するには.htaccess と mod_rewrite を使用する場合は、次の点を考慮してください。アプローチ:

サイト全体の強制

mod_ssl の使用:

  • に次のディレクティブを含めます。あなたの .htaccessファイル:

    SSLRequireSSL
    ログイン後にコピー

mod_rewrite の使用:

  • この書き換えルールを.htaccess:

    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    ログイン後にコピー

PHP でのページ固有の強制

サーバーで .htaccess が無効になっている場合は、SSL/内部からのHTTPS PHP:

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();
    }
}
ログイン後にコピー

追加リソース

詳細については、次のリソースを参照してください:

  • [mod_ssl SSLRequireSSLディレクティブ](https://httpd.apache.org/docs/2.4/mod/mod_ssl.html#sslrequiresssl)
  • [mod_rewrite ドキュメント](https://httpd.apache.org/docs/2.4/ rewrite/)
  • [Apache HTTP サーバーRewriterule](http://www.askapache.com/htaccess/http-https-rewriterule-redirect.html)

以上が.htaccess と mod_rewrite を使用してサイト全体またはページごとに SSL/HTTPS を強制する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート