मेरे पास Windows Server 2003 पर चलने वाले XAMPP (Apache / PHP / MySQL) के साथ एक परीक्षण सर्वर है।
मैं हमेशा समस्याओं .htaccess और .htpasswd फ़ाइलों के बिना उपयोग करता था। जिस साइट पर मैं काम कर रहा हूं, वह मुझे मिल जाती है त्रुटि 404 (हाँ! 403 नहीं) द्वारा संरक्षित निर्देशिका के अंदर किसी भी फ़ाइल को खोलने का प्रयास करते समय .htaccess
, जो दिखता है:
<Files .htaccess>
order allow,deny
deny from all
</Files>
AuthName "Area riservata"
AuthUserFile WEBTESTkeys.htpasswd
AuthType Basic
require valid-user
मैंने बदल दिया .htpasswd
उसी के लिए निर्देशिका .htaccess
(WEBTESTpublic_htmladmin.htaccess
) सफलता के बिना फ़ाइल!
यदि मैं फ़ाइल को हटाता हूं तो सब कुछ ठीक काम करता है: अपाचे लॉग और त्रुटि लॉग कुछ नहीं कहते हैं।
समस्या / त्रुटि कहां है?
संपादित करें
मुझ पर DOCUMENT_ROOT
(WEBTESTpublic_html
) मेरे पास यह है .htaccess
फ़ाइल। मुझे पता चला कि अंतिम पंक्ति टिप्पणी करते समय (निम्नलिखित के रूप में - कोई पुनर्निर्देशित नहीं index.php
नॉन फाइल और सिमिलिंक के लिए) मेरी समस्या गायब है। मुझे समझ में नहीं आता क्यों!
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/(it|de|fr|en)/(.*)$ [NC]
RewriteCond %{DOCUMENT_ROOT}/multi_html/%2 -s
RewriteRule ^(it|de|fr|en)/(.*)$ /multi_html/$2?lingua=$1 [NC,L,QSA]
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-s
#RewriteRule . index.php [NC,L]
उत्तर:
जवाब के लिए 0 № 1मैंने खुद को एक जवाब पाया:
AuthName "Authorisation Required"
AuthUserFile "WEBTESTkeys.htpasswd"
AuthType Basic
require valid-user
ErrorDocument 401 "Authorisation Required" <-- ADD THIS LINE
अपाचे ने इसे कुछ हद तक बदल दिया था और 401 त्रुटि दस्तावेज़ को निर्दिष्ट करना आवश्यक है क्योंकि अपाचे का उपयोग करते समय इसे ढूंढना है .htpasswd
.