In dit artikel zal ik vertellen hoe je een betere paginasnelheidsscore kunt krijgen, zelfs wanneer je TimThumb gebruikt als miniatuur voor je site. Op mijn persoonlijke blog gebruik ik deze methode al geruime tijd en het resultaat is best indrukwekkend. Laten we beginnen met de zelfstudie!
Eerste! Oudere versies van timthumb zijn notoir onveilig... dus als je een oude versie van timthumb hebt, download dan eerst de laatste versie van TimThumb Google Code. Open de bestanden en zoek naar regel 27
define ('FILE_CACHE_DIRECTORY', './cache');
en vervang het door
define ('FILE_CACHE_DIRECTORY', ");
Dit zorgt voor een veiligere instelling, maar u kunt nog steeds de map 'cache' of uw eigen gedefinieerde naam gebruiken. Hackers en bots weten te zoeken naar die cachemap, die in oudere versies gebruikers zou hebben die de maprechten instellen op lagere dan veilige niveaus.
Normaal gebruikt een themaontwikkelaar timthumb in hun themamap; Dit is duidelijk bedoeld om gebruikers te helpen de functie gemakkelijk uit de doos te gebruiken, maar in het belang van de veiligheid zullen we de locatie voor de time-to-bom veranderen naar een nieuwe map of naar een nieuw subdomein (ik gebruik deze optie op mijn persoonlijke blog). Ik zal je beide methoden laten zien:
Maak een nieuwe map "media" op uw hoofddomein, dat wil zeggen: uwdomein.com/media
Plaats daarna in de map "media" een .htaccess-bestand met de onderstaande code.
RewriteEngine On RewriteBase / media / RewriteRule ^ resizer /(.*) x (. *) / R /(.*) resizer / thumb.php? Src = http: // $ 3 & h = $ 2 & w = $ 1 & zc = 1
Voeg vervolgens een submap toe onder "media" met de naam "resizer", dat wil zeggen: uw-domein.com/media/resizer/. Upload de timthumb naar deze map en zorg ervoor dat je je timthumb-bestand een naam geeft als thumb.php. De bestandsstructuur zal zijn zoals hieronder getoond
Als u de cachemap inschakelt, moet u de cachemap maken onder "Resizer".
Eerst moet u uw subdomein instellen, bijvoorbeeld www3.uw-domein.com.
Plaats daarna in de hoofdmap van uw subdomein een .htaccess-bestand met de onderstaande code.
RewriteEngine On RewriteBase / RewriteRule ^ resizer /(.*) x (. *) / R /(.*) resizer / thumb.php? Src = http: // $ 3 & h = $ 2 & w = $ 1 & zc = 1
Voeg vervolgens een submap "resizer" toe, dat wil zeggen: www3.uw-domein.com/resizer/. Upload de timthumb naar deze map en zorg ervoor dat je je timthumb-bestand een naam geeft als thumb.php. De bestandsstructuur zal zijn zoals hieronder getoond
Als u de cachemap inschakelt, moet u de cachemap maken onder "Resizer".
Nadat je klaar bent met stap 2, ben je nu klaar om de timthumb te gebruiken met een aangepaste URL. Het formaat dat u kunt gebruiken voor de nieuwe aangepaste URL wordt hieronder weergegeven:
submap
http://your-domain.com/media/resizer/250x150/r/your-image-url.jpg
subdomein
http://www3.your-domain.com/resizer/250x150/r/your-image-url.jpg
Het formaat dat wordt gebruikt voor de URL is http://www3.your-domain.com/resizer/[Afbeelding breedte]X[Afbeelding hoogte]/ R /[afbeelding URL]
Mijn vorige artikel ging over Automagic post thumbnail / image management, als je deze aangepaste url-functie samen met het beheer van de postminiatuur wilt gebruiken, volg dan de onderstaande stappen, daar wat bewerking om te zorgen dat alles naar behoren werkt.
Eerst moet je een extra functie toevoegen aan je functions.php-bestand.
function remove_http ($ url = ") if ($ url == 'http: //' OR $ url == 'https: //') return $ url; $ matches = substr ($ url, 0, 7 ); if ($ overeenkomsten == 'http: //') $ url = substr ($ url, 7); else $ matches = substr ($ url, 0, 8); if ($ matches == ' https: // ') $ url = substr ($ url, 8); return $ url;
Kijk daarna in de functie get_attachment_picture (), voor de sluitingshaak ziet u de code zoals hieronder getoond:
echo $ related_thumbnail;
Verander de code in
echo remove_http ($ related_thumbnail);
Hierna kunt u de aangepaste URL samen met de functie Post Thumbnail / Image Management gebruiken. Voorbeeld van gebruik:
echo '';
Inmiddels zou je deze functie in elk van je thema's kunnen gebruiken, als je nog andere suggesties of vragen hebt over aangepaste url voor timthumb, kun je een reactie achterlaten!