Hacer una redirección en Apache es fácil (mod_alias):
RedirectMatch ^.*$ http://portal.example.com/
Establecer encabezados de caché es igualmente fácil:
Header set Cache-Control max-age=0
Header set Expires "Thu, 01 Dec 1994 16:00:00 GMT"
(No quiero esto en caché)
¡Pero! Parece que no puedes combinar los dos. Esta configuración hace que se envíe la redirección, pero no los encabezados:
<VirtualHost *:80>
ServerName __default__
Header set Cache-Control max-age=0
Header set Expires "Thu, 01 Dec 1994 16:00:00 GMT"
RedirectMatch ^.*$ http://portal.example.com/
</VirtualHost>
Ejemplo de lo que realmente sucede:
jb@apto % telnet 192.168.0.1 80
Trying 192.168.0.1...
Connected to redirector.example.com.
Escape character is '^]'.
GET / HTTP/1.1
Host: foo
HTTP/1.1 302 Found
Date: Sat, 21 Aug 2010 09:36:38 GMT
Server: Apache/2.2.9 (Debian) Phusion_Passenger/2.2.9
Location: http://portal.example.com/
Vary: Accept-Encoding
Content-Length: 316
Content-Type: text/html; charset=iso-8859-1
(etc)
¿Alguna idea de cómo devolver una redirección con encabezados de caché?
apache-2.2
configuration
redirect
cache
http-headers
Jakob Borg
fuente
fuente
Deberá implementar un script de intermediario en Perl o PHP (usaría PHP, es más simple si ya está cargado). Consulte la guía de reescritura, busque "Redirección extendida":
http://httpd.apache.org/docs/2.2/misc/rewriteguide.html
Configure el xredirect, luego configure su script para sacar los encabezados que desee ... no es bonito, pero que yo sepa, es la única forma de hacerlo.
fuente