2h दिनों में खोज रहा है और इस परियोजना पर mod_rewrite और समय की बाधाओं की समझ की कमी के कारण सही समाधान नहीं मिल सकता है, इसलिए उम्मीद है कि कोई मदद कर सकता है।। उपनिर्देशिका 'ओवरराइडिंग' पेरेंट एचटीएसीएसी
उद्देश्य
जड़ index.php के लिए सभी अनुरोधों को फिर से लिखने के लिए अगर ग्राहक सही कुकी नहीं है। यदि ग्राहक के पास सही कुकी है तो उन्हें ब्राउज़ करने की अनुमति दें।
समस्या
मेरी उपनिर्देशिका में इनको मेरी जड़ इनको अधिक precendence ले जा रहा है, इसलिए इस तरह के www.mydomain.com/subdir/index.php रीडायरेक्ट किया जा रहा arn't के रूप में अनुरोध।
मेरे जड़ .htaccess
Options FollowSymLinks
RewriteEngine On
RewriteBase/
RewriteCond %{HTTP_COOKIE} !^.*pass.*$
RewriteCond %{REQUEST_URI} !^/index.php$
RewriteRule ^(.*)$ http://www.mydomain.com/index.php?url=$0 [NC]
मेरे subdir इनको
RewriteEngine On
RewriteBase/
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]
अतिरिक्त जानकारी
आदर्श रूप में मैं एक पासवर्ड संरक्षित क्षेत्र बनाने के लिए कोशिश कर रहा हूँ, इसलिए सभी अनुरोध index.php पर रूट किए जाते हैं एक पासवर्ड दर्ज किया जा सकता है और जब एक कुकी सत्यापित की जाती है, तो सामग्री और उप निर्देशिकाओं की मुफ्त ब्राउज़िंग की अनुमति मिलती है। तो अगर इसे पूरा करने का एक बेहतर तरीका है तो कृपया मुझे बताएं, और मैं htpasswd के लिए नहीं गया क्योंकि मुझे कस्टम लॉगिन, त्रुटि और स्पलैश पृष्ठों की आवश्यकता है।
इसके अलावा, subdir .htaccess एक अभिव्यक्तिइंजिन यूआरएल हैंडलर है।
धन्यवाद।
आप इसे ठीक, एक कुकी की उपस्थिति के लिए जाँच की परवाह किए बिना अच्छा नहीं है सुरक्षा। यह नकली एक के लिए तुच्छ है, और चूंकि आप कुकी में डेटा को मान्य नहीं कर रहे हैं, बस इसकी उपस्थिति की जांच कर रहे हैं), आपकी "सुरक्षा" प्रणाली बाईपास करने के लिए तुच्छ है। –
@ एबे सिर्फ एक सुझाव है लेकिन आपने HTTP प्रमाणीकरण को लागू करने के बारे में सोचा है, अगर आप केवल निर्देशिकाओं तक पहुंच की अनुमति दे रहे हैं: http://uk.php.net/manual/en/features.http-auth.php –