¡Hola!htaccess - reescritura condicional y vencimiento
Tengo una carpeta /static
en mi webroot del servidor Apache 2.x. Si una petición coincide con
/static/<somename like [\S-_]+>.(png|jpg|css|js)/\d{8,15}
por ejemplo
/static/bg.jpg/1335455634
Quiero dos cosas:
- url será reescrita para
/static/bg.jpg
(deshacerse de la marca de tiempo) - , que se convertirá a never-expire ('expira 2030, max-age = 290304000, caché pública, ...)
Si la solicitud no coincide, la solicitud y sus encabezados deben ser normales, sin reescribir. Idealmente, cualquier solicitud fuera/static/* no debería verse afectada (aunque las "marcas de tiempo de coincidencia coincidentes" deberían ser raras ...)
No tengo más que problemas con FilesMatch/RewriteCond, por lo que prefiero no publicar mis intentos fallidos. .. (Reescribir en genereal está habilitado en mi máquina, y yo sí tengo el derecho de enviar encabezados relacionados con caché)
Dankeschön!
Gracias. Yo * lo veré * y lo probaré. Le pido paciencia por otros 2-3 días. –
No hay problema. Feliz de ayudar. Por cierto, esta es una herramienta muy útil para probar las reglas de htaccess - http://htaccess.madewithlove.be/ – jesal
Gracias. Su solución, respectivamente, ambas soluciones funcionan. Sin embargo, una cosa parece imposible: que los archivos no reescritos reciban una caducidad regular y que solo los archivos reescritos obtengan la caducidad. FilesMatch parece preocuparse solo por el archivo finalmente abierto, nada de lo que sucede antes. Independientemente de si se coloca por encima o por debajo de la regla de reescritura. En otras palabras, todos los jpgs, pngs ahora se vuelven nunca caducan. Así que incluso si voy por 'static/simple.jpgx/123456789' (es por eso que temporalmente me quedé atrapado en' x? '), Se empareja. –