2010-01-15 25 views
7

इम स्थापना phpancake, वहाँ एक फ़ोल्डर इसइस पुनर्लेख नियम का क्या अर्थ है?

application/ 
install/ 
library/ 
public/ 
sql_schema/ 
install.html 
install.php 

तरह शेमा इस नियम का क्या मतलब है है?

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ /vote/public/index.php [NC,L] 

उत्तर

11

पुनर्लेखन में दो भाग हैं। पहला व्यक्ति निर्दिष्ट करता है कि यदि अनुरोध किया गया फ़ाइल नाम 0 (-s) से अधिक आकार वाला एक नियमित फ़ाइल है, तो एक प्रतीकात्मक लिंक (-l) या एक निर्देशिका (-d), कहीं भी फिर से लिखें, उदाहरण के लिए। कोई कदम मत उठाना। [NC,L] का अर्थ है कि नियम गैर-केस संवेदनशील है और अंतिम नियम यह है कि ये शर्तें मेल खाते हैं।

अन्य सभी अनुरोध /vote/public/index.php पर अग्रेषित किए गए हैं।

इस पुनर्लेख का उद्देश्य यह है कि एक वास्तविक, मौजूदा फ़ाइल बिना किसी हस्तक्षेप के सर्वर से प्राप्त की जा सकती है। पहले नियम के बिना, प्रत्येक फ़ाइल अनुरोध (सीएसएस और जेएस फाइलें, इमेज इत्यादि) index.php पर जाएंगे जो गड़बड़ चीजों को बहुत बुरी तरह से खराब कर देगा।

आमतौर पर यह एक घोषणा में लिखा गया है, हालांकि। आप की स्थिति नकारना कर सकते हैं, और फिर [OR] statemens भी बाहर ले जाया जा सकता है:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-s 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^.*$ /vote/public/index.php [NC,L] 

यह मूल बयान के बराबर है।

+0

@Tatu Ulmanen: क्या आप कृपया बता सकते हैं कि 'पुनर्लेखन% {REQUEST_FILENAME} -f' का क्या अर्थ होगा? क्या यह सिर्फ "आकार" है कि विकल्प '-s' और' -f' में भिन्न हैं? और नियमित फाइलें क्या होंगी (बाइनरी नहीं?)? –

0

उन मुख्य रूप से मानक पुनर्लेखन जो जाँच यदि अनुरोध फ़ाइल (या निर्देशिका या प्रतीकात्मक कड़ी), डिस्क पर मौजूद हैं जो मामले में फ़ाइल/निर्देशिका/आदि। इस्तेमाल किया जाना चाहिए।

अन्य सभी मैचों

+0

@Tatu Ulmanen के उत्तर से आप कृपया बता सकते हैं कि 'पुनर्लेखन% {REQUEST_FILENAME} -f' का क्या अर्थ होगा? क्या यह सिर्फ "आकार" है कि विकल्प '-s' और' -f' में भिन्न हैं? और नियमित फाइलें क्या होंगी (बाइनरी नहीं?)? –

0

पहला नियम सभी अनुरोधों कि शून्य (-s) से अधिक एक आकार के साथ एक नियमित फाइल करने के लिए मैप किया जा सकता से होकर गुजरेगी /votes/public/index.php के लिए एक प्रतीकात्मक जाना चाहिए, लिंक (-l) या एक निर्देशिका (-d)। हर दूसरे अनुरोध को दूसरे नियम द्वारा लाया जाता है और /vote/public/index.php पर लिखा जाता है।

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

  • कोई संबंधित समस्या नहीं^_^