2012-01-04 6 views
6

अपने सर्वर पर के बजाय मैं निम्नलिखित .htaccess फाइल है:"प्रमाणीकरण आवश्यक" हो रही है जब का अनुरोध//index.php

DirectoryIndex index.php 

AuthType Basic 
AuthName "Password Required" 
AuthUserFile /var/www/webinterface/.htpasswd 
Options +FollowSymLinks 
Require valid-user 

<Files index.php> 
    Satisfy any 
    Allow from * 
</Files> 

मैं यूआरएल "आईपी पता/index.php" अनुरोध करते हैं, सबकुछ ठीक काम करता है, मुझे index.php प्रमाणीकरण प्रॉम्प्ट के बिना प्रदर्शित होता है। हालांकि जैसे ही मैं "आईपी-पता /" का अनुरोध करता हूं, ब्राउज़र मुझे मेरे प्रमाण पत्र के लिए पूछता है।

ऐसा क्यों है? मैं क्या खो रहा हूँ?

+0

वाह क्या आपने सचमुच एक ही समस्या और सेटअप मेरे रूप में किया था, क्या एक संयोग –

उत्तर

7

ब्लॉक को <Files> का उपयोग करने के बजाय अनुरोध URI की जांच करने के लिए mod_setenvif का उपयोग करने का प्रयास करें। Mod_auth * मॉड्यूल में mod_dir पर प्राथमिकता है इसलिए / से /index.php पर मानचित्रण तब तक नहीं होता जब तक ऑथ होने के बाद नहीं होता है। Mod_setenvif लेख से पहले होगा। प्रयास करें:

SetEnvIf Request_URI "^/$" allow=yes 
SetEnvIf Request_URI "^/index.php$" allow=yes 

AuthType Basic 
AuthName "Password Required" 
AuthUserFile /var/www/webinterface/.htpasswd 
Options +FollowSymLinks 
Order Deny,Allow 
Satisfy any 
Deny from All 
Require valid-user 
Allow from env=allow 

अनुरोधित यूआरआई बिल्कुल / या /index.php है, तो चर allow सेट हो जाता है। एथ लाइनों के बाद सामान एक वैध उपयोगकर्ता या को छोड़कर सबकुछ अस्वीकार करने का कहता है यदि चर allow सेट किया गया है।

+0

वाह है, मैं गहराई से प्रभावित हूं। वह एक महान उत्तरदाता था। बहुत बहुत धन्यवाद – ftiaronsem

+0

क्या आपको एथटाइप से , या आदि निर्देश में प्रारंभ करने वाला ब्लॉक डालना नहीं है? –

+0

क्या आप मेरी समझ में मदद कर सकते हैं कि इसके विपरीत कैसे करें? मैं बिना किसी पासवर्ड सुरक्षा वाले किसी निर्देशिका के भीतर सभी फ़ाइलों और उप-निर्देशिकाओं तक पहुंच की अनुमति देना चाहता हूं, लेकिन मुझे/orindind.php के लिए पासवर्ड प्रमाणीकरण की आवश्यकता है। जब मैं index.php फ़ाइल की सुरक्षा करता हूं, तो मैं अभी भी पासवर्ड/बिना पासवर्ड के एक्सेस कर सकता हूं। मुझे लगता है कि उपरोक्त आपके उत्तर में उपर्युक्त उल्टा करने के लिए मेरे लिए आवश्यक नियम शामिल हैं और इसे मेरे मामले के लिए काम करते हैं, लेकिन मैं इसे लिखने के लिए सेटएएनवीआईएफ आदि को समझ नहीं पा रहा हूं। – WilliamAlexander

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