plugin permanentes para modificar insertar enlaces editar cómo configurar codigo body and agregar http header http-headers

http - permanentes - plugin para footer wordpress



¿Cómo puedo agregar encabezados de expiración para scripts que no están en mi servidor? (9)

Es posible que pueda agregar un parámetro de cadena de consulta para engañar al navegador y hacerle pensar que está solicitando un recurso diferente. Por ejemplo, si desea que el navegador nunca almacene en caché un CSS, puede agregar un signo de interrogación seguido de un número aleatorio al final de la URL. Esto generalmente funciona pero se puede hacer que no funcione con el servidor que aloja el archivo. Pruébalo y verás.

Tengo un sitio web y agregué los encabezados de caducidad en todas las páginas / imágenes y scripts, pero no sé cómo podría agregar encabezados de caducidad a los scripts externos.

Por ejemplo, Google Analytics: ha expirado los encabezados establecidos en 1 día.

Google no es mi problema, algunos otros scripts de sitios web externos son el problema real, no tienen encabezados de vencimiento en absoluto.


Eso no es posible.

No se recomienda (y no siempre es posible): si se trata de contenido estático, solicítelo con una secuencia de comandos y configure sus propios encabezados.


He creado una versión de ese código que le permite especificar diferentes fechas de caducidad para cada script:

<?php $files = array( ''ga.js'' => ''https://ssl.google-analytics.com/ga.js'', ''bsa.js'' => ''https://s3.buysellads.com/ac/bsa.js'', ''pro.js'' => ''https://s3.buysellads.com/ac/pro.js'' ); if(isset($files[$_GET[''file'']])) { if ($files[$_GET[''file'']] == ''ga.js''){ header(''Expires: ''.gmdate(''D, d M Y H:i:s /G/M/T'', time() + ((60 * 60) * 48))); // 2 days for GA } else { header(''Expires: ''.gmdate(''D, d M Y H:i:s /G/M/T'', time() + (60 * 60))); // Default set to 1 hour } echo file_get_contents($files[$_GET[''file'']]); } ?>

Más información: https://www.catswhocode.com/blog/php-how-to-add-expire-headers-for-external-scripts


La única forma es crear un script que descargue los contenidos de un sitio externo y luego agregue los encabezados necesarios.

<script type="text/javascript" src="http://external.example.com/foo.js"></script>

A

<script type="text/javascript" src="external.php?url=http://external.example.com/foo.js"></script>

Y external.php es algo como

<?php header("Expire-stuff: something"); echo file_get_contents($_GET[''url'']);

Por supuesto, esto tiene un agujero de seguridad, así que recomiendo usar cadenas de identificación como external.php? File = foo.js y luego usar

$files = array(''foo.js'' => ''http://external/...''); if(isset($files[$_GET[''file'']])) { echo file_get_contents($files[$_GET[''file'']]); }

file_get_contents (), por supuesto, tomará parte de su ancho de banda, por lo que también se recomienda almacenar el resultado en caché.


Lo siguiente puede ser útil para usted.

ExpiresActive On ExpiresDefault "access plus 1 seconds" ExpiresByType image/x-icon "access plus 2692000 seconds" ExpiresByType image/jpeg "access plus 2692000 seconds" ExpiresByType image/png "access plus 2692000 seconds" ExpiresByType image/gif "access plus 2692000 seconds" ExpiresByType application/x-shockwave-flash "access plus 2692000 seconds" ExpiresByType text/css "access plus 2692000 seconds" ExpiresByType text/javascript "access plus 2692000 seconds" ExpiresByType application/x-javascript "access plus 2692000 seconds" ExpiresByType text/html "access plus 600 seconds" ExpiresByType application/xhtml+xml "access plus 600 seconds"


No se preocupe por estas pruebas de página ... algunas de las recomendaciones pueden ser útiles y algunas de ellas no pueden hacer nada. Haz lo que puedas con tus propios archivos, no te preocupes por los externos.


Puede cargar dinámicamente las páginas externas usando PHP, por lo que puede enviar encabezados antes de enviar los datos originales. Esta no es una solución ideal, pero si realmente lo desea, puede querer usarla.

<?php header(''expire-header''); echo file_get_contents(''http://www.extern.al/website/url'');


Solo puede agregar campos de encabezado en las respuestas a las solicitudes que van a su propio servidor. Si la solicitud va a otro servidor, diga el servidor de Google, entonces es el servidor de Google el que responde la solicitud.

Así que la única solución a su problema es alojar esos recursos externos en su propio servidor. Pero eso solo es posible si los recursos son estáticos, no cambien de solicitud a solicitud y no dependan de otras cosas.


Usted no puede

Intente enviar por correo electrónico la (s) unidad (es) que aloja el archivo e intente que apliquen encabezados de caducidad al mismo.