Przekierowanie Apache i ustawienie nagłówków pamięci podręcznej?


Przekierowywanie w Apache jest łatwe (mod_alias):
RedirectMatch ^.*$ [url=http://portal.example.com/]http://portal.example.com/[/url]

Ustawianie nagłówków pamięci podręcznej jest również łatwe:
Header set Cache-Control max-age=0
Header set Expires "Thu, 01 Dec 1994 16:00:00 GMT"

(Nie chcę, aby było to buforowane)
Ale! Nie możesz mieszać tych dwóch. Ta konfiguracja powoduje wysyłanie przekierowań, ale nie nagłówków:
<VirtualHost *:80>
ServerName __default__
Header set Cache-Control max-age=0
Header set Expires "Thu, 01 Dec 1994 16:00:00 GMT"
RedirectMatch ^.*$ [url=http://portal.example.com/]http://portal.example.com/[/url]
</VirtualHost>

Przykład tego, co się faktycznie dzieje:
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: fooHTTP/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: [url=http://portal.example.com/]http://portal.example.com/[/url]
Vary: Accept-Encoding
Content-Length: 316
Content-Type: text/html; charset=iso-8859-1(etc)

Pomyśl, jak zwrócić przekierowanie

z

nagłówki pamięci podręcznej?
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Spróbuj dodać warunek „zawsze” do dyrektywy nagłówka, aby wyglądał tak:
Header always set Cache-Control max-age=0
Header always set Expires "Thu, 01 Dec 1994 16:00:00 GMT"

To powinno zadziałać, bez klauzuli „always”, uważam, że wartością domyślną jest „onsuccess”, który jest zdefiniowany jako dowolny kod odpowiedzi 2xx.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Będziesz musiał zaimplementować skrypt pośrednika w Perlu lub PHP (użyłbym PHP, jest łatwiej, jeśli jest już załadowany). Zapoznaj się z przewodnikiem po przepisywaniu, wyszukaj „Zaawansowane przekierowanie”:
http://httpd.apache.org/docs/2 ... .html
http://httpd.apache.org/docs/2 ... .html
Skonfiguruj xredirect, a następnie skonfiguruj skrypt, aby wypychał nagłówki, które chcesz ... to nie jest ładne, ale o ile wiem, jest to jedyny sposób, aby to zrobić.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się