私はPHP関数を持っています:
function http_protocol()
{
return ($_SERVER['SERVER_PORT'] == 443) ? 'https' : 'http';
}
ただし、発信元のドメインがHTTPのみであり、HTTPS のドメインに動的にリンクしたい場合、条件は http を返します。
したがって、サイトが HTTPS リクエストに応答するかどうかを確認し、応答する場合は https を返し、応答しない場合は http を返すことができると考えています。
@get_headers 配列を使用して実行できると考え、[0] 値に HTTPS があるかどうかを確認しましたが、HTTPS ヘッダーが存在するかどうかを確認できませんでした (例: HTTPS/1.1)。
私はこの質問に従っていました: PHP 経由で URL が存在するかどうかを確認するにはどうすればよいですか? ただし、HTTPS をチェックする場合を除きます。
私のロジックフローは正しいですか、それとも何か不足していますか?
編集: 特定の例では、自分が管理しているサイトのみをチェックします。したがって、コンテンツが HTTPS 経由で提供されるかどうかは事前にわかります。