2010-08-28 17 views
16

अग्रेषण स्लैश के संबंध में "/" रिवाइट्रूल या रीवाइटकॉन्ड को रेगेक्स देने पर, या विशेष रूप से .htaccess से संबंधित कुछ भी, आगे स्लैश से बचने की आवश्यकता है?क्या आपको mod_rewrite का उपयोग करते समय एक आगे स्लैश से बचने के लिए है?

यहाँ मैं क्या

RewriteEngine on 
RewriteOptions inherit 

RewriteBase /uk-m-directory/ 
RewriteRule ^(region|region\/|regions\/)$ regions [R=301,L] 
RewriteRule ^(county|county\/|counties\/)$ counties [R=301,L] 
RewriteRule ^(city|city\/|cities\/)$ cities [R=301,L] 

ऊपर ठीक काम करता है प्राप्त करने की कोशिश कर रहा हूँ का एक उदाहरण है, और यह नीचे के रूप में

RewriteEngine on 
RewriteOptions inherit 

RewriteBase /uk-m-directory/ 
RewriteRule ^(region|region/|regions/)$ regions [R=301,L] 
RewriteRule ^(county|county/|counties/)$ counties [R=301,L] 
RewriteRule ^(city|city/|cities/)$ cities [R=301,L] 

कौन सा पता चला जब मैं बैकस्लैश को दूर ठीक से काम करने के लिए जारी सही तरीका है? क्या वे दोनों गलत हैं? क्या कोई विशेष कारण है कि आगे की स्लैश बच निकली जानी चाहिए, या नहीं?

मेरा अनुमान है कि आगे की स्लैश से बचने की आवश्यकता नहीं है क्योंकि यह एक विशेष चरित्र नहीं है, जहां तक ​​मुझे पता है। लेकिन मैं बस यकीन करना चाहता हूँ।

यदि आप इस कोड के बिंदु पर सोच रहे हैं, तो यह अपने बहुवचन समकक्षों को शहर, काउंटी और क्षेत्र (आगे फॉरवर्ड स्लैश के बिना) को रीडायरेक्ट करता है। इसके अलावा यदि बहुवचन में आगे की स्लैश है तो यह आगे स्लैश को हटा देता है।

उत्तर

15

नहीं, आपको स्लेश से बचने की ज़रूरत नहीं है। फॉरवर्ड स्लैश के नियमित अभिव्यक्तियों में कोई विशेष अर्थ नहीं है।

एक आम चरित्र जिसने मुझे अतीत में काट दिया है ? क्वेरी स्ट्रिंग में है। वह आपको बचाना है।

+0

त्वरित उत्तर के लिए जॉन बहुत धन्यवाद = डी एक त्वरित आपूर्ति सवाल जॉन, अगर आपको कोई फर्क नहीं पड़ता, तो आपके "?" से संबंधित टिप्पणी। मुझे पता है कि इसे बचाना होगा (प्रश्नचिह्न) लेकिन अगर यह नियम के दायीं तरफ है तो क्या होगा? उदाहरण के लिए कहें "रिवाइट्रूल ^/([ए-जेड -9] +) $ /index.php?query=$1" राइथेंड साइड (index.php?) पर प्रश्नचिह्न से बच निकलना है? मुझे पता है कि यह होना जरूरी नहीं है, लेकिन आप जानते हैं, बस सुनिश्चित कर रहे हैं। – TrainTC

+0

फिर से सही करें। केवल बाईं तरफ। –

-4

आपको पिछड़े स्लैश से बचना है, लेकिन यदि आप आगे स्लैश का उपयोग करते हैं तो आपको कम से कम my.ini कॉन्फ़िगरेशन फ़ाइल (MySQL) में नहीं होना चाहिए।

+1

MySQL के पास mod_rewrite के साथ कुछ भी नहीं है, हालांकि। – Makoto

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