regex - Help with regular expression with mod_rewrite -


मेरे पास ऐसा लिंक है जो मैं बदलना चाहता हूं:

  mypage.com?page = मिशन & amp; आईडी = 5 mypage.com? Page = hello  

मैंने उन्हें इसके साथ आसान लिंक में बदलने की कोशिश की:

  विकल्प + अनुवर्ती लिंक्स पुनर्लेखनइन्गइन ऑन RewriteRule ^ ([^ /] *) / ([^ /] *) $ /index.php?page=$1&id=$2 [एल]  

यह काम करता है लेकिन अगर मैं (Mypage.com?page=hello) जैसे पृष्ठों तक पहुंचना चाहते हैं मुझे लिखना है:

  mypage.com/hello/  

और अगर मैं लिखूं इस तरह से अंत में स्लैश के बिना

  mypage.com/hello  

यह काम नहीं करता है।

मैं कैसे करूँ इसे ठीक करो? :)

यह काम करना चाहिए:

  RewriteRule ^ ([^ /] *) (/ ([^ /] *)) $ $ /index.php?page=$1&id=$3 [एल]  

यह स्लैश को वैकल्पिक द्वारा बना देगा इसमें एक वैकल्पिक समूह में ( (...)? द्वारा निर्दिष्ट किया गया है, क्वेरी स्ट्रिंग के वैकल्पिक दूसरे छोर के साथ। चूंकि यह पहली और दूसरे (बाएं कोष्ठक के आदेश को निर्धारित करता है) के बीच एक नया समूह पेश करता है, हमें $ 2 से $ 3 से दूसरा बैक्रेफरन बदलना होगा।

< P> यदि तर्क इस से अधिक जटिल हो जाता है, तो नियमों को विभाजित करना आसान हो सकता है।


Comments

Popular posts from this blog

SQL/PHP: Table design question -

c# - PInvoke of NetUserAdd returns 24 -

NHibernate Passing Session to the Repository -