Bruke Timthumb med egendefinerte nettadresser for nettstedoptimalisering

I denne artikkelen vil jeg dele om hvordan du får en bedre sidens hastighetspoeng, selv når du bruker TimThumb som din miniatyr-resizer for nettstedet ditt. På min personlige blogg har jeg brukt denne metoden for en stund, og resultatet er ganske imponerende. La oss starte opplæringen!

Trinn 1 Forbereder TimThumb

Først! Eldre versjoner av timthumb er notorisk usikre... Så hvis du har en gammel versjon av timthumb, vennligst last ned den nyeste versjonen fra TimThumb Google Code. Åpne filene og se etter linje 27

define ('FILE_CACHE_DIRECTORY', './cache');

og erstatt den med

define ('FILE_CACHE_DIRECTORY', ");

Dette gir et sikrere oppsett, men du kan fortsatt bruke mappen 'cache' eller ditt eget definerte navn. Hackere og bots vet å se etter den cachemappen, som i eldre versjoner ville ha brukere angitt mappefunksjonene til lavere enn sikre nivåer.

Trinn 2 Sette opp ny plassering for TimThumb

Normalt vil en temautvikler bruke timthumb i deres temamappe; Dette er åpenbart for å hjelpe brukerne til å enkelt bruke funksjonen ut av boksen, men for sikkerhets skyld vil vi endre plasseringen for timthumb til en ny mappe eller til et nytt underdomene (jeg bruker dette alternativet på min personlige blogg). Jeg skal vise dere begge metodene:

Trinn 2.1 Bruke en undermappe

Opprett ny mappe "media" på hoveddomenet ditt, dvs.: yourdomain.com/media

Deretter legger du inn i mappen "media" en .htaccess-fil med kode vist nedenfor.

 RewriteEngine On RewriteBase / media / RewriteRule ^ resizer /(.*) x (. *) / R /(.*) resizer / thumb.php? Src = http: // $ 3 & h = $ 2 og w = $ 1 og zc = 1 

Deretter legger du til en undermappe under "media" kalt "resizer", dvs.: your-domain.com/media/resizer/. Last opp timthumb til denne mappen og sørg for at du heter din timthumb-fil som thumb.php. Filstrukturen vil bli som vist nedenfor

  1. /media
  2. /media/.htaccess
  3. / Media / resizer /
  4. /media/resizer/thumb.php

Hvis du aktiverer hurtigmappen, må du opprette hurtigmappen under "resizer".

Trinn 2.2 Bruke et underdomene

Først må du sette opp underdomenet ditt, for eksempel www3.your-domain.com.

Deretter legger du inn hovedmappen for underdomenet ditt en .htaccess-fil med kode vist nedenfor.

 RewriteEngine On RewriteBase / RewriteRule ^ resizer /(.*) x (. *) / R /(.*) resizer / thumb.php? Src = http: // $ 3 & h = $ 2 & w = $ 1 og zc = 1 

Deretter legger du til en undermappe "resizer", det vil si: www3.your-domain.com/resizer/. Last opp timthumb til denne mappen og sørg for at du heter din timthumb-fil som thumb.php. Filstrukturen vil bli som vist nedenfor

  1. /.htaccess
  2. / Resizer /
  3. /resizer/thumb.php

Hvis du aktiverer hurtigmappen, må du opprette hurtigmappen under "resizer".

Trinn 3 bruk

Etter at du har gjort med trinn 2, nå er du klar til å bruke timthumb med en egendefinert url. Formatet du kan bruke for den nye egendefinerte nettadressen, vises nedenfor:

undermappe

http://your-domain.com/media/resizer/250x150/r/your-image-url.jpg

underdomene

http://www3.your-domain.com/resizer/250x150/r/your-image-url.jpg

Formatet bruk for URL er http://www3.your-domain.com/resizer/[Bildebredde]x[Bildehøyde]/ R /[Image-url]

  1. [bildehøyde] - definer høyden på miniatyrbildet
  2. [bildebredde] - definer bredden på miniatyrbildet
  3. [bilde-url] - definer url for bildekilden, fjern http: // fra url, ellers vil miniatyrbildeserien mislykkes

Trinn 4 Bruk med auto Thumbnail / Image Management

Min forrige artikkel handlet om Automagic etter miniatyrbilde / bildebehandling, hvis du vil bruke denne egendefinerte url-funksjonen sammen med miniatyradministrasjonen, følger du trinnene nedenfor, det er litt redigering for å sikre at alt fungerer som det skal.

Først må du legge til ekstra funksjon i din functions.php-fil.

funksjon remove_http ($ url = ") if ($ url == 'http: //' ELLER $ url == 'https: //') return $ url; $ matches = substr ($ url, 0, 7 ), hvis $ matches == 'http: //') $ url = substr ($ url, 7); ellers $ matches = substr ($ url, 0, 8) https: // ') $ url = substr ($ url, 8); returner $ url;

Etter det, se på funksjonen get_attachment_picture (), før sluttbraketten, vil du se koden som vist nedenfor:

ekko $ related_thumbnail;

Endre koden til

 echo remove_http ($ related_thumbnail);

Deretter kan du bruke den egendefinerte nettadressen sammen med funksjonen Post Thumbnail / Image Management. Eksempel på bruk:

ekko '';

Konklusjon

Nå bør du kunne bruke denne funksjonen i noen av temaene dine, hvis du har noen ekstra forslag eller spørsmål angående egendefinert url for timthumb, vær så snill å legge igjen en kommentar!