Advertisement
  1. Code
  2. Theme Development

Uso de Timthumb con URL personalizadas para la optimización del sitio

Scroll to top
Read Time: 4 min

() translation by (you can also view the original English article)

En este artículo, compartiré cómo obtener una mejor puntuación en la velocidad de la página incluso cuando esté utilizando TimThumb como su redimensionador de miniaturas para su sitio. En mi blog personal he estado usando este método durante bastante tiempo y el resultado es bastante impresionante. ¡Comencemos el tutorial!


Paso 1 preparación de TimThumb

¡Primero! Las versiones anteriores de timthumb son notoriamente inseguras... Entonces, si tiene una versión anterior de timthumb, primero descargue la última versión de TimThumb Google Code. Abra los archivos y busque la línea 27

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

y reemplazarlo con

1
define ('FILE_CACHE_DIRECTORY', '');

Esto lo convierte en una configuración más segura, pero aún puede usar la carpeta 'caché' o su propio nombre definido. Los Hackers y los bots saben que deben buscar esa carpeta de caché, que en versiones anteriores haría que los usuarios establecieran los permisos de la carpeta en niveles más bajos que los seguros.


Paso 2 Configurar una nueva ubicación para TimThumb

Normalmente, un desarrollador de temas utilizará timthumb dentro de su carpeta de temas; obviamente, esto es para ayudar a los usuarios a usar fácilmente la función lista para usar, pero en aras de la seguridad cambiaremos la ubicación de timthumb a una nueva carpeta o un nuevo subdominio (uso esta opción en mi blog personal). Te mostraré ambos métodos:


Paso 2.1 Uso de una subcarpeta

Cree una nueva carpeta "medios" en su dominio principal, es decir: tudominio.com/media

Después de eso, coloque dentro de la carpeta "media" un archivo .htaccess con el código que se muestra a continuación.

1
<IfModule mod_rewrite.c >
2
RewriteEngine On
3
RewriteBase /media/
4
RewriteRule ^resizer/(.*)x(.*)/r/(.*) resizer/thumb.php?src=https://$3&h=$2&w=$1&zc=1
5
</IfModule>

A continuación, agregue una subcarpeta debajo de "medios" llamada "resizer", es decir: su-dominio.com/media/resizer/. Sube el timthumb a esta carpeta y asegúrate de nombrar tu archivo timthumb como thumb.php. La estructura del archivo será como se muestra a continuación

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

Si habilita la carpeta de caché, debe crear la carpeta de caché en "resizer".


Paso 2.2 Usando un subdominio

Primero debe configurar su subdominio, por ejemplo www3.your-domain.com.

Después de eso, coloque dentro de la carpeta principal de su subdominio un archivo .htaccess con el código que se muestra a continuación.

1
<IfModule mod_rewrite.c >
2
RewriteEngine On
3
RewriteBase /
4
RewriteRule ^resizer/(.*)x(.*)/r/(.*) resizer/thumb.php?src=http://$3&h=$2&w=$1&zc=1
5
</IfModule>

A continuación, agregue una subcarpeta "resizer", es decir: www3.your-domain.com/resizer/. Sube el timthumb a esta carpeta y asegúrate de nombrar tu archivo timthumb como thumb.php. La estructura del archivo será como se muestra a continuación

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

Si habilita la carpeta de caché, debe crear la carpeta de caché en "resizer".


Paso 3 Uso

Una vez que haya terminado con el paso 2, ahora está listo para usar timthumb con una URL personalizada. El formato que puede utilizar para la nueva URL personalizada se muestra a continuación:

Subcarpeta

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

Subdominio

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

El formato que se utiliza para la URL es http://www3.your-domain.com/resizer/[image-width]x[image-height]/r/[image-url]

  1. [image-height]: define la altura de la miniatura
  2. [image-width]: define el ancho de la miniatura
  3. [image-url]: defina la URL de la fuente de la imagen, elimine http: // de la URL o, de lo contrario, fallará la generación de la miniatura.

Paso 4 Uso con gestión Automática de imágenes / miniaturas

Mi artículo anterior trataba sobre la gestión de miniaturas / imágenes de publicaciones de Automatica, si desea utilizar esta función de URL personalizada junto con la gestión de miniaturas de publicaciones, siga los pasos a continuación, hay algunas ediciones para asegurarse de que todo funcione correctamente.

Primero necesita agregar una función adicional a su archivo functions.php.

1
function remove_http($url = '')
2
        {
3
                if ($url == 'http://' OR $url == 'https://'){
4
                        return $url;
5
                }
6
                $matches = substr($url, 0, 7);
7
                if ($matches=='http://'){
8
                        $url = substr($url, 7);         
9
                }else{
10
                        $matches = substr($url, 0, 8);
11
                        if ($matches=='https://') 
12
                        $url = substr($url, 8);
13
                }
14
                return $url;
15
        }

Después de eso, mire en la función get_attachment_picture (), antes del corchete de cierre, verá el código como se muestra a continuación:

1
echo $related_thumbnail;

Cambia el código a

1
    echo remove_http($related_thumbnail);

Después de eso, puede usar la URL personalizada junto con la función de administración de imágenes / miniaturas de publicación. Ejemplo de uso:

1
echo '<img src="http://www3.eizil.com/resizer/440x185/r/'.get_attachment_picture();'" width="440px" height="185px"/>';

Conclusión

A estas alturas ya debería poder usar esta función en cualquiera de sus temas, si tiene alguna sugerencia o pregunta adicional con respecto a la URL personalizada para timthumb, ¡no dude en dejar un comentario!

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.