programing

get_template_directory_uri()는 SSL 사이트에서 https 대신 http를 반환합니다.

javajsp 2023. 3. 5. 09:29

get_template_directory_uri()는 SSL 사이트에서 https 대신 http를 반환합니다.

그 주제는 이미 논의된 것으로 알고 있지만, 해결 방법이 발견되지 않은 것 같습니다.제 경우입니다.저는 현재 SSL을 가진 워드프레스 사이트를 가지고 있습니다.그러나 테마에는 다음과 같이 리소스가 추가됩니다.

wp_enqueue_script( 'spectrumwp-conditional', get_template_directory_uri() . '/js/vendor/conditional.js', array('jquery'), null, true);

단, get_directory_uri()는 https가 아닌http를 가진 URL을 반환합니다.

이 문제를 해결하는 것을 도와줄 수 있나요?

편집: 이 파일을 wp-config.php 파일에 추가했습니다.

$_SERVER['HTTPS']='on';

리소스에 대한 링크는 https://로 표시되지만 다음과 같이 표시되지 않습니다.

https://www.exaple.com/wp-content/plugins/...

있습니다

https://www.example.com/plugins/LayerSlider/...

예: wp-content 폴더가 없습니다.

최종 갱신:

코멘트 없음

 define('FORCE_SSL_ADMIN', true);

추가

if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
 {  $_SERVER['HTTPS']='on'; }

줄의 바로

/* That's all, stop editing! Happy blogging. */

문제를 해결하세요!단, $_SERVER['를 권장합니다.HTTP_X_FORWARDED_PROTO']는 충분히 정확하지 않을 수 있기 때문에 사용되지 않습니다.

해결했습니다!

사이트가 https:// 또는 http:// 중 어느 쪽을 실행하고 있는지 확인하려면 is_ssl()을 사용해야 합니다.

체크 및 리다이렉트하기 위한 후크는 다음과 같습니다.

function check_if_https() {
if ( !is_ssl() ) {
    wp_redirect('https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 301 );
    exit();
  }
}
add_action ( 'template_redirect', 'check_if_https', 1 );

[ Settings ]-> [ General ]으로 이동하여 사이트 URL을 확인합니다.

이 값이 HTTPS가 아닌 HTTP인 것이 문제인 것 같습니다. 이 변경에 주의하여 접근하십시오.백업 작업을 수행하고 이 URL이 변경되어야 하는 이유와 이 URL이 미치는 영향에 대해 완전히 이해해야 합니다.

get_template_directory_uri()는 사이트 URL이 올바르게 설정되어 있는 경우 HTTPS 링크를 자동으로 제공합니다.

언급URL : https://stackoverflow.com/questions/41778338/get-template-directory-uri-returns-http-instead-of-https-on-ssl-site