2015-10-12 8 views
7

एक और answer से, इस डबल स्लैश डॉट आमhtaccess regex में डबल स्लैश डॉट (यानी: \।) क्यों?

RedirectMatch 404 /\\.svn(/|$) 

है हम आदि "/.svn" मिलान कर रहे हैं, यही कारण है कि इस अवधि के बचने के लिए एक एकल स्लेश नहीं है?

+0

[इस सहायता पृष्ठ] (http://httpd.apache.org/docs/2.2/mod/mod_alias.html# के अनुसार रीडायरेक्टमैच) बैकलस्ल एक शाब्दिक बिंदु से मेल खाने के लिए सिंगल होना चाहिए। –

+2

यदि कोई ऐसा व्यक्ति है जो [स्रोत कोड] (http://opensource.apple.com/source/apache/apache-647/apache/src/modules/standard/mod_alias.c) समझा सकता है, तो मैं ऊपर उठूंगा। –

उत्तर

1

डबल एस्केपिंग की अनुमति है लेकिन वास्तव में इसकी आवश्यकता नहीं है। तो ये दोनों नियम काम करेंगे:

RedirectMatch 410 /\\.svn(/|$) 

या

RedirectMatch 410 /\.svn(/|$) 
+0

हालांकि यह क्यों काम करता है? यदि आप सचमुच '\ .svn' नामक फ़ाइल से मेल खाना चाहते हैं तो डबल बैकस्लैश काम नहीं करता है, लेकिन आपको regex'/\\\ svn' (उनमें से 3) का उपयोग करने की आवश्यकता है, जबकि पीसीआरई बैकस्लैश अलग-अलग काम करता है mod_rewrite (केवल 1 की आवश्यकता है, लेकिन 2 फ़ाइल \ .svn से मेल खाएगा)। –

+0

अच्छा बिंदु जॉन। मैं अभी इस सवाल से प्रश्न में गया हूं 'चूंकि हम मेल खाते हैं "/.svn" आदि'। मुझे यकीन नहीं है कि 'रीडायरेक्ट मैच' (या 'mod_alias') regex इंजन' mod_rewrite' (पीसीआरई) द्वारा उपयोग किए जाने वाले जैसा ही है। – anubhava

+0

@ जोनलिन मैं सचमुच '/ \\\। Svn' मिलान' \ .svn' को समझ सकता हूं। मुझे समस्या है कि क्यों \\। Svn' काम करता है – hjpotter92

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