Apache에서 리디렉션을 수행하는 것은 쉽습니다 (mod_alias).
RedirectMatch ^.*$ http://portal.example.com/
캐시 헤더를 설정하는 것도 마찬가지로 쉽습니다.
Header set Cache-Control max-age=0
Header set Expires "Thu, 01 Dec 1994 16:00:00 GMT"
(캐시를 원하지 않습니다)
그러나! 둘을 결합 할 수없는 것 같습니다. 이 구성으로 인해 리디렉션이 전송되지만 헤더는 전송되지 않습니다.
<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>
실제로 일어나는 일의 예 :
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)
리디렉션 반환하는 방법에 대한 모든 아이디어 와 캐시 헤더를?
답변
Header 지시문에 “always”조건을 추가하면 다음과 같이 나타납니다.
Header always set Cache-Control max-age=0
Header always set Expires "Thu, 01 Dec 1994 16:00:00 GMT"
이것은 “항상”조건없이 작동해야합니다. 기본적으로 “onuccess”로 설정되어 2xx 응답 코드로 정의됩니다.
답변
Perl 또는 PHP에서 중개인 스크립트를 구현해야합니다 (PHP를 사용합니다. 이미로드 된 경우 더 간단합니다). 재 작성 안내서를 확인하고 “확장 리디렉션”을 검색하십시오.
http://httpd.apache.org/docs/2.2/misc/rewriteguide.html
xredirect를 설정 한 다음 원하는 헤더를 밀어 내도록 스크립트를 설정하십시오.