दिलचस्प पोस्ट
पर्यावरण चर मान का अधिकतम आकार क्या है? मैं पृष्ठभूमि में चलाने के लिए एक निर्धारित शेड्यूल्ड कार्य कैसे सेट करूं? एंड्रॉइड मानचित्र v2 सभी मार्करों को दिखाने के लिए ज़ूम करें मैं कैसे गिट फ़ाइल मोड (chmod) परिवर्तनों को अनदेखा कर सकता हूं? नेविगेशन बार की ऊंचाई को कैसे बढ़ाया xcode? जावा प्रोग्राम को अपनी स्वयं की प्रक्रिया आईडी कैसे मिल सकती है? आईएमजी तत्व बनाने के लिए सबसे अच्छा जावास्क्रिप्ट कोड क्या है मैं RequireJS में इकाई परीक्षण के लिए निर्भरता कैसे नकली कर सकता हूं? ऑब्जेक्ट्स के एक दूसरे को स्नैप करें और ओवरलैप को रोकें पीडीएफ से पीडीएफ जेनरेट करें पीडीएफ मेक में एंगुलरज में कोनेरी नियंत्रकों के अंदर अंडरस्कोर का उपयोग करें दो क्रमबद्ध सरणियों के संघ में सबसे छोटी तत्व कैसे मिल जाए? एक संग्रह में दस्तावेजों को एक उल्का क्लाइंट पर प्रकाशित करें, जो कि किसी अन्य दस्तावेज़ (प्रकाशित- के-संबंधों) में एक विशिष्ट दस्तावेज़ के अस्तित्व के आधार पर होता है। ऐप स्टोर पर एक iPhone ऐप के स्वामित्व को स्थानांतरित करना WPF छवि बाइट

मैं mod_rewrite में एक निर्देशिका को कैसे अनदेखा कर सकता हूँ?

मैं मॉडर्राइट नियमों को डायरेक्टरी vip छोड़ने की कोशिश कर रहा हूं। मैंने कई चीजों की कोशिश की है जैसा कि आप नीचे देख सकते हैं, लेकिन कोई फायदा नहीं हुआ।

 # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / #RewriteRule ^vip$ - [PT] RewriteRule ^vip/.$ - [PT] #RewriteCond %{REQUEST_URI} !/vip RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress 

मैं पूरी तरह से /vip/ निर्देशिका को अनदेखा करने के लिए मॉडर्र्राइट कैसे प्राप्त करूं ताकि सभी अनुरोध सीधे फ़ोल्डर में आए हों?

अद्यतन करें:

स्पष्टता के अंक के रूप में:

  • यह Dreamhost पर होस्ट किया गया है
  • फ़ोल्डर एक WordPress निर्देशिका के भीतर हैं
  • / वीआईपी / फ़ोल्डर में एक वेबडिव। htaccess आदि शामिल है (हालांकि मुझे नहीं लगता कि यह महत्वपूर्ण है

Solutions Collecting From Web of "मैं mod_rewrite में एक निर्देशिका को कैसे अनदेखा कर सकता हूँ?"

किसी भी अन्य नियमों से पहले इसे डालने का प्रयास करें

 RewriteRule ^vip - [L,NC] 

यह किसी भी यूआरआई शुरुआत vip मैच होगा।

  • - कुछ भी नहीं मतलब है
  • L अर्थ है कि यह अंतिम नियम होना चाहिए; निम्नलिखित सब कुछ अनदेखा करें
  • NC का कोई मतलब नहीं है (इसलिए "वीआईपी" भी मिलान होता है)।

ध्यान दें कि यह vip शुरुआत से मेल खाता है अभिव्यक्ति ^vip$ मेल खाता है लेकिन vip/ vip/index.html$ आपकी गिरावट हो सकती है यदि आप वास्तव में इसे सही करना चाहते हैं, तो आप ^vip(/|$) साथ जाना चाहते हैं, ताकि आप vip-page.html मेल नहीं खाते

 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d 

यह कहता है कि यह एक मौजूदा फ़ाइल या निर्देशिका है, इसे छूने नहीं। आप site.com/vip तक पहुंचने में सक्षम होना चाहिए और कोई भी फिर से लिखना नियम नहीं होना चाहिए।

जो कोड आप जोड़ रहे हैं, और जो सभी नियमों को पुनर्लेखन नियम / शर्तें प्रदान कर रहे हैं वे बेकार हैं! डिफ़ॉल्ट वर्डप्रेस कोड पहले से ही सबकुछ करता है जिसे आपको इसकी आवश्यकता होनी चाहिए:

 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] 

उन पंक्तियों का कहना है कि "यदि यह एक मौजूदा फ़ाइल ( -f ) या निर्देशिका ( -d ) नहीं है, तो उसे वर्डप्रेस में पास करें। अतिरिक्त नियम जोड़ना, चाहे वे कितने विशिष्ट या अच्छे हों, अनावश्यक हैं – आपको पहले से ही कवर किया जाना चाहिए वर्डप्रेस नियम!

तो वे काम क्यों नहीं कर रहे हैं ???

vip निर्देशिका में .htaccess एक त्रुटि फेंक रहा है। सटीक एक ही बात तब होती है जब आप पासवर्ड एक निर्देशिका की रक्षा करते हैं

यहां समाधान है:

 ErrorDocument 401 /err.txt ErrorDocument 403 /err.txt 

वर्डप्रेस कोड से पहले उन पंक्तियों को सम्मिलित करें, और फिर /err.txt बनाएँ। इस तरह, जब यह आपके WebDAV (या पासवर्ड संरक्षित निर्देशिका) पर आता है और विफल रहता है, तो वह उस फ़ाइल पर जाएंगे, और मौजूदा डिफ़ॉल्ट वर्डप्रेस RewriteCond %{REQUEST_FILENAME} !-f ( RewriteCond %{REQUEST_FILENAME} !-f ) द्वारा RewriteCond %{REQUEST_FILENAME} !-f

आपने उल्लेख किया है कि निर्देशिका में पहले से ही .htaccess फ़ाइल है जिसे आप अनदेखा करना चाहते हैं – आप उपयोग कर सकते हैं

 RewriteEngine off 

उस। Htaccess में mod_rewrite का उपयोग बंद करने के लिए (यदि आप उस फ़ोल्डर में mod_rewrite का उपयोग कर रहे हैं तो सुनिश्चित नहीं हैं, अगर आप तब से तब तक मदद नहीं करेंगे जब से आप इसे बंद नहीं कर सकते हैं)।

संक्षेप में, अंतिम समाधान है:

 ErrorDocument 401 /misc/myerror.html ErrorDocument 403 /misc/myerror.html # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress 

मैंने अपनी विशिष्ट स्थिति में इस समस्या के कारण और अधिक जानकारी दी, जिसमें ड्रीमहोस्ट पर वर्डप्रेस और वेबएडएवी शामिल है, जिसे मैं कई अन्य लोगों को अपनी साइट पर रखने की उम्मीद करता हूं ।

अपने कोड के इस भाग को बदलने की कोशिश करें:

  पुनर्लेखन ^ वीआईपी /। $ - [पीटी] 

…निम्नलिखित के साथ:

  RewriteCond% {REQUEST_URI}! (वीआईपी) [एनसी] 

इससे चीजों को ठीक करना चाहिए

मुझे वर्डप्रेस का इस्तेमाल करते हुए एक ही मुद्दा मिला है और पाया गया कि समस्या 401 और 403 त्रुटियों के लिए उचित हैंडलर से जुड़ी नहीं है ..

 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d 

इन शर्तों को पहले से ही मौजूदा फ़ोल्डर्स के यूआरएल को फिर से लिखना नहीं चाहिए, लेकिन वे पासवर्ड सुरक्षित फ़ोल्डर्स के लिए अपना काम नहीं करते हैं। मेरे मामले में, मेरे रूट में निम्नलिखित दो पंक्तियाँ जोड़ना। Htaccess ने समस्या तय की:

 ErrorDocument 401 /misc/myerror.html ErrorDocument 403 /misc/myerror.html 

बेशक आपको /misc/myerror.html बनाने की आवश्यकता है,

यह काम …

 RewriteRule ^vip - [L,NC] 

लेकिन यह सुनिश्चित करें कि यह पहला नियम है

रीव्रेटइंजिन चालू

अर्थात

 ErrorDocument 404 /page-not-found.html RewriteEngine on RewriteRule ^vip - [L,NC] AddType application/x-httpd-php .html .htm RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d etc 
 RewriteCond %{REQUEST_URI} !^pilot/ 

ऐसा करने का तरीका है

मेरे मामले में, ब्रेंटनस्ट्रैन (और मैं देखता हूं कि मैटदुसा भी एक ही विचार था) सही था … मैं उनका जवाब देना चाहता था, लेकिन यहां नए होने के नाते मेरे पास "प्रतिष्ठा" नहीं है, इसलिए मेरे पास है एक पूर्ण उत्तर लिखने के लिए, मुझे इस बात पर ज़ोर देना है कि मुझे क्या लगता है कि यहां असली कुंजी है।

इनमें से कई उत्तर वर्डप्रेस सूचकांक.एफ़पीपी को इस्तेमाल करने से सफलतापूर्वक बंद कर देंगे … लेकिन कई मामलों में, ऐसा करने का कारण यह है कि वास्तविक पृष्ठों के साथ एक वास्तविक निर्देशिका है जिसमें आप सीधे प्रदर्शित करना चाहते हैं, और

 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d 

लाइनें पहले से ही उस पर ध्यान देते हैं, इसलिए उन समाधानों में से अधिकांश मेरे जैसे मामले में व्यथित हैं।

कुंजी ब्रेंटनस्ट्रैन की अंतर्दृष्टि थी कि त्रुटि एक द्वितीयक प्रभाव था, पासवर्ड-सुरक्षा की वजह से मैं डायरेक्टरी के अंदर सीधे सीधा प्रदर्शित करने की कोशिश कर रहा था। में डालने के द्वारा

 ErrorDocument 401 /err.txt ErrorDocument 403 /err.txt 

लाइनों और त्रुटि पृष्ठों को बनाने (मैं वास्तव में err401.html और err403.html बनाया और अधिक जानकारीपूर्ण त्रुटि संदेश बनाया) मैंने 404 प्रतिक्रिया उत्पन्न की, जब उसे 401 प्रमाणीकरण की आवश्यकता के लिए प्रदर्शित करने के लिए कोई पृष्ठ नहीं मिला, और तब फ़ोल्डर काम किया जैसा कि अपेक्षित था … एक अपाचे लॉगिन संवाद दिखा रहा है, फिर फ़ोल्डर की सामग्री, या विफलता पर, मेरी त्रुटि 401 पृष्ठ

मुझे यकीन नहीं है कि मैं आपके उद्देश्य को समझता हूं, लेकिन निम्नलिखित क्या कर सकता है जो आपके बाद हो?

 RewriteRule ^/vip/(.*)$ /$1?%{QUERY_STRING} [L] 

यह एक यूआरएल जैसे http://www.example.com/vip/fred.html को / वीआईपी के बिना फिर से लिखने के लिए कारण होगा