많은 사람들이 WordPress를 사용하여 이미지 기반 웹사이트를 구축하는데, 일반적으로 페이지에 업로드된 많은 첨부 파일 이미지를 로드해야 합니다. WordPress의 공간에서는 첨부 파일을 절대 URL 주소로 지정할 수 있지만 브라우저 다운로드 스레드 메커니즘의 한계를 해결하기에는 충분하지 않습니다. 다음은 WordPress에 대한 내 솔루션입니다.
방법에 대해 이야기하기 전에 먼저 브라우저의 다운로드 스레드가 무엇인지 이해해 봅시다. 간단히 말하면, 브라우저로 웹페이지를 열었을 때 페이지에 있는 모든 이미지, 스타일, js 등이 동일한 도메인 이름으로 배치되어 있는 경우, 브라우저는 서버에 요청할 때 다운로드된 파일을 요청해야 합니다. . 다음 다운로드를 요청하세요(또는 동시에 여러 다운로드를 요청한 후 계속 요청할 수도 있습니다. 브라우저에 따라 다릅니다). 이 페이지에 있는 사진, 스타일, js 및 기타 파일이 모두 도메인 이름에 배치되어 있고 너무 많으면 웹 페이지를 열 때 대기 대기열이 길어집니다. (예를 들어 2M 광대역은 4M 광대역보다 훨씬 빠르지 않습니다.)
해결책은 동시에 더 많은 데이터를 다운로드하는 것입니다. 동일한 도메인 이름의 제한 문제로 제한되어 있으며 이를 해결하기 위해 여러 도메인 이름을 사용할 수 있습니다.
공간에서 여러 하위 디렉터리 바인딩을 허용하는 경우 WordPress 첨부 파일 wp-content/uploads/에 바인딩되도록 여러 하위 도메인 이름을 설정할 수 있습니다.
내 하위 도메인 http://pic0.tsov.net/ 및 http://pic1.tsov.net/ 을 wp-content/uploads/에 바인딩하고 있습니다.
동시에 백그라운드의 "설정" 및 "미디어"에서 설정한 하위 도메인 이름을 지정합니다(블로그에 이미 데이터가 있는 경우 phpmyadmin을 사용하여 명령문을 실행하고 첨부 파일을 한 번에 변환할 수 있습니다).
예를 들어 내 설정은 다음과 같습니다. (파일의 전체 URL 주소: http://pic.tsov.net )
그런 다음 테마 아래의 function.php 파일에 다음 코드를 추가하세요.
<?php
함수 설정_pic_tsov_net($content) {
$pattern="/<img******************/"; (여기서 전체 코드를 표시할 수 없습니다. 전체 코드를 다운로드하려면 클릭하세요.)
preg_match_all($pattern,$content,$match);
$iNumberOfPics = 개수($match[0]);
for ( $i=0; $i < $iNumberOfPics ; $i++ ){
$tsovnet= str_replace('pic.tsov.net','pic'.rand(0,1).'.tsov.net',$match[1][$i]);
$content=str_replace($match[1][$i],$tsovnet,$content);
};
$content를 반환합니다.
}
add_filter('the_content','setting_pic_tsov_net',12);
?>
위 코드의 기능은 로그의 이미지 경로를 무작위로 바꾸는 것입니다.
모두 wp-content/uploads/에 바인딩되어 있습니다.
한 페이지에 사진이 많지 않다면 하위 도메인 이름을 너무 많이 사용하지 마세요(도메인 이름 확인에도 시간이 걸립니다). 일반적으로 2~3개면 충분합니다. 대략적으로 다음과 같이 계산할 수 있습니다. 하위 도메인은 동시에 5번 다운로드할 수 있으므로 동시에 다운로드해야 하는 수는 몇 개입니까? 사용하려는 하위 도메인 수를 얻으려면 5로 나누어야 합니다.
위는 단지 초기 구현 방법일 뿐인데, 나중에 난수 rand(0, 1)을 사용하는 이미지의 경로가 자주 변경되는 것을 발견하여 검색 엔진에 좋지 않을 수 있으므로 이를 수정하는 것이 가장 좋습니다. 이와 같이:
$tsovnet= str_replace('pic.tsov.net','pic'.substr(decbin(md5($match[1][$i])),-1).'.tsov.net',$match[1 ][$i]);
이 문장은 설명하지 않겠습니다. 너무 번거롭습니다. 하지만 마침내 최종 목표를 달성했습니다.
물론 위의 내용에는 다른 최적화 문제가 많이 포함되어 있으므로 자세히 설명하지 않겠습니다.
추가: 예를 들어 하위 도메인 이름이 다른 공간을 가리키면 첨부 파일이 포함된 로그를 게시할 때마다 첨부 파일이 다른 공간에 동기화됩니다. (이 동기화를 위해 404 및 기타 이상한 방법으로 다운로드하는 프로그램을 작성할 수 있습니다)
말이 너무 많아서 보면 다들 헷갈리실 것 같아요. 그럼 구현 후 효과를 경험해 볼까요?
원문: http://tsov.net/category/album/
귀하의 기여에 대해 Simonsu에게 감사드립니다