2011-08-05 17 views
9

मेरे पास एक भाषा विशिष्ट सबडोमेन है जो रूट के रूप में एक ही डीआईआर को मेरी साइट के रूप में इंगित करता है। मैं इसका पता लगाने और भाषा दिखाने के लिए PHP का उपयोग करता हूं।। विशिष्ट उप डोमेन पर htpasswd

मैं केवल इस सबडोमेन पर एक htpasswd सेट करना चाहता हूं। ध्यान रखें कि इस सबडोमेन के लिए कोई भौतिक निर्देशिका विशिष्ट नहीं है। इसलिए कथन मेरी साइट की जड़ के समान ही htaccess में होगा।

मैं इनको जरूरत है ऐसा करने के लिए:

if request is mysubdomain.domain.com 
AuthUserFile /www/.htpasswd 
AuthName "Locked" 
AuthType Basic 

धन्यवाद

उत्तर

2

यह untested है, लेकिन काम हो सकता है या आप अपाचे दस्तावेज में देखने के लिए क्या पर संकेत दे:

SetEnvIf Host ^mysubdomain.domain.com !no-auth-required 

AuthUserFile /www/.htpasswd 
AuthName "Locked" 
AuthType Basic 
Require valid-user 
Allow env no-auth-required 
Satisfy Any 
19

यह काम करना चाहिए:

AuthUserFile /www/.htpasswd 
AuthName "Locked" 
AuthType Basic 
Require valid-user 

SetEnvIf Host yourdomain.com secure_content 

Order Allow,Deny 
Allow from all 
Deny from env=secure_content 

Satisfy Any 

मैं @ एंडर्स लिंडाहल के समान मार्ग पर था लेकिन स्पष्ट रूप से SetEnvIf में "नहीं" नहीं है, इसलिए मैंने इसे सभी से अनुमति देने और env-var सेट के साथ इनकार करने के लिए इसे बदल दिया था।

उनका समाधान भी काम करता है, लेकिन आप SetEnv no-auth-required 1 पहले करने के लिए है और फिर दो! कोई प्रमाणीकरण आवश्यक सेट किए बिना यह (है कि क्या ! करता है)

+0

वर्क्स एक आकर्षण की तरह! आपका बहुत बहुत धन्यवाद! लेखक द्वारा पुष्टि की जानी चाहिए :) –

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