ホームページにキャッシュを設定した Web サイトを開くと、IP アドレス/css/index.css のように、この Web サイトのスタイルが IP: 8080 でアクセスされます。ドメイン名をバインドした後、そのドメイン名がアクセスされますが、キャッシュをクリアした後、スタイルのパスはドメイン名/css/index.css に置き換えられます。ホームページのキャッシュはファイルキャッシュを使用します
スタイルパスはこの関数で取得したものを使用します
function get_http(){ return isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) != 'off' ? 'https://' : 'http://';}function get_domain(){ $protocol = get_http(); if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])) { $host = $_SERVER['HTTP_X_FORWARDED_HOST']; } elseif (isset($_SERVER['HTTP_HOST'])) { $host = $_SERVER['HTTP_HOST']; } else { if (isset($_SERVER['SERVER_PORT'])) { $port = ':' . $_SERVER['SERVER_PORT']; if (':80' == $port && 'http://' == $protocol || ':443' == $port && 'https://' == $protocol) { $port = ''; } } else { $port = ''; } if (isset($_SERVER['SERVER_NAME'])) { $host = $_SERVER['SERVER_NAME'] . $port; } elseif (isset($_SERVER['SERVER_ADDR'])) { $host = $_SERVER['SERVER_ADDR'] . $port; } } return $protocol . $host;}
ip address/css/index.css
Thisは IP アドレスではありません: 8080/css/index.css
ip address/css/index.css
これは当てはまりません 想定される IP アドレス: 8080/css/index.css
IP アドレス/css/index.css
これは想定されている IP アドレスではありません: 8080/css/index.css
では、なぜ IP を使用するのでしょうか?
これは定かではありませんが、Web サイトのトップページは 10 分間キャッシュされ、10 分後に再度キャッシュされるため、サーバーが不安定になっている可能性があります。 http https と https を切り替えますか?
完全な URL は、切り替えが発生した場合にのみ生成する必要があります
12 行目から始まるコード、ポート処理コードはどのような状況で実行されますか? ($_SERVER['HTTP_HOST'] は常に存在します) 処理ポート (PORT) と処理 HOST は並列であり、else ブランチに配置すべきではありません
モデレータさん、熱心なご回答ありがとうございました