2013-10-15 5 views
7

देता है तो मैं किसी को एचटीएसीएसी में किसी और कथन के साथ मेरी सहायता करने के लिए चाहूंगा। मैं चाहता हूं कि कुकी को पढ़ने के लिए htaccess है और जांचें कि इसका मान परिभाषित मान के बराबर है या नहीं। यदि यह गलत होने का मूल्यांकन करता है, तो उसे रीडायरेक्ट को निष्कासित कर देना चाहिए और अनुरोध किए गए फ़ोल्डर से एक्सेस करना चाहिए। यदि मूल्यांकन गलत हो जाता है तो शायद सभी से इनकार करना बेहतर होगा।htaccess कुकी मान की तुलना करें और मूल्यांकन करें यदि मूल्यांकन सही/झूठा

मुझे पता है कि नामित कुकी मान सेट होने पर निम्न कोड जांचता है। यदि यह सेट नहीं है, तो यह इसके नीचे पुनर्लेखन नियम निष्पादित करेगा। लेकिन मैं इस लाइन को कैसे समायोजित कर सकता हूं ताकि यह जांच सके कि यह एक निश्चित मूल्य के बराबर है या नहीं?

RewriteEngine On 
RewriteCond %{HTTP_COOKIE} !^.*cookie_name.*$ [NC] 
RewriteRule .* http://www.google.com [NC,L] 

मैं चाहते हैं क्या है, लेकिन .htaccess शैली में:

RewriteEngine On 

RewriteCond %{HTTP_COOKIE} !cookie_name=specific_value [NC] 
RewriteRule^http://www.google.com [NC,L,R=302] 
+0

संभावित डुप्लिकेट [कुकी मूल्य पर आधारित htaccess रीडायरेक्ट कैसे करें] (http://stackoverflow.com/questions/3978726/how-to-do-htaccess-redirect-based-on-cookie-value) – mavrosxristoforos

+0

@ mavrosxristoforos। यह एक डुप्लिकेट नहीं है क्योंकि मैं वास्तव में मूल्यों की तुलना करने की कोशिश कर रहा हूं और केवल यह जांच नहीं रहा कि कुकी सेट है या नहीं। मैंने पोस्ट किया गया htaccess का कोड पहले से ही करता है। –

उत्तर

9

आप पास कर रहे हैं:

if ($_COOKIE['cookie_name'] != 'specific_value'){ 
//rewrite_rule or deny from all. 
} 
1

आप इस कोड है कि कुकी में विशिष्ट मूल्य के लिए जाँच करता है का उपयोग कर सकते । कुकी स्ट्रिंग एक = की जरूरत है:

RewriteEngine On 
RewriteCond %{HTTP_COOKIE} !cookie_name=specific_value; [NC] 
RewriteRule^http://www.google.com [NC,L] 
5

मूल्य मिलान किया जा करने की जरूरत है कि साथ required_value बदलें।

RewriteEngine On 
RewriteCond %{HTTP_COOKIE} !cookie_name=required_value;? [NC] 
RewriteRule^http://www.google.com [R=301,L] 

;? सुनिश्चित करें कि मैच होता है बनाता है दोनों जब वहाँ कई कुकी मान जोड़े हैं या जब cookie_name केवल कुकी सेट है। यह off जैसे कुकी मान पर मिलान से भी रोकता है जब केवल of (एक सबस्ट्रिंग) पर एक मैच आवश्यक है।

संबंधित मुद्दे