अपाचे पुनर्निर्देशित और कैश हेडर सेट करें?


10

अपाचे में रीडायरेक्ट करना आसान है (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)

कैश हेडर के साथ पुनर्निर्देशित कैसे करें के लिए कोई विचार ?

जवाबों:


10

अपने हैडर निर्देश में "हमेशा" स्थिति जोड़ने की कोशिश करें, इसलिए इसे इस तरह दिखना चाहिए:

Header always set Cache-Control max-age=0
Header always set Expires "Thu, 01 Dec 1994 16:00:00 GMT"

यह काम करना चाहिए, "हमेशा" स्थिति के बिना मेरा मानना ​​है कि यह "onsuccess" के लिए चूक है जिसे किसी भी 2xx प्रतिक्रिया कोड के रूप में परिभाषित किया गया है।


!!! पता नहीं कैसे मैं यह याद किया, लेकिन हाँ!
जैकब बोर्ग

हाँ, यह बात है। महान।
कोस्मो

यह कस्टम हेडर के लिए काम नहीं करता है, अजीब है
जुआन

0

आपको पर्ल या पीएचपी में एक मध्य-पुरुष स्क्रिप्ट को लागू करने की आवश्यकता होगी (मैं PHP का उपयोग करूंगा, यह पहले से लोड होने पर सरल है)। पुनर्लेखन मार्गदर्शिका देखें, "विस्तारित पुनर्निर्देशन" की खोज करें:

http://httpd.apache.org/docs/2.2/misc/rewriteguide.html

Xredirect को सेट करें, फिर अपनी स्क्रिप्ट को उस हेडर को बाहर निकालने के लिए सेट करें जिसे आप चाहते हैं ... यह बहुत सुंदर नहीं है, लेकिन जहां तक ​​मुझे पता है कि इसे करने का एकमात्र तरीका है।


वास्तव में सुंदर नहीं है, मुझे बहुत आश्चर्य है कि यह बेहतर तरीके से (सीधे कॉन्फ़िगरेशन में) उल्लेखनीय नहीं है, लेकिन यह एक सही उत्तर की तरह दिखता है। :(
जैकब बोर्ग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.