2012-04-03 20 views
15

युक्त गंतव्य के लिए नियम फिर से लिखना है, मैं एक रीडायरेक्ट जारी करने का प्रयास कर रहा हूं जहां गंतव्य में एक खंड-पहचानकर्ता भाग है। मैं इस नियम के साथ करने की कोशिश की:अपाचे एक हैश मार्क

RewriteRule ^/foo/bar/([^/]+)/(.*)$ /cgi/script#foobar::$1.$2 [R,L] 

हालांकि #%23 में बदल जाता है और वेब अनुप्रयोग सही ढंग से इस यूआरएल पार्स नहीं कर सकता। # चरित्र रखने के लिए मैं अपाचे को कैसे बल दूं?

उत्तर

28

समाधान पाया: वहाँ mod_rewrite के साथ यूआरएल से बचने नहीं लिए एक विकल्प है:

https://httpd.apache.org/docs/2.2/rewrite/flags.html#flag_ne

[NE] ध्वज जोड़ना समस्या हल हो।

+0

क्या क्वेरीस्ट्रिंग को * नहीं * करने का कोई तरीका है? इस विधि का उपयोग करके मुझे '/ myUrl? 123''/newUrl # हैश? 123' पर रीडायरेक्ट किया जाता है। मुझे पता है कि 'क्यूएसए' ध्वज है, लेकिन मुझे विपरीत खोजने की जरूरत है। –

+1

@ सिमोनएस्ट आपके पास अपाचे 2.4 पर 'क्यूएसडी' ध्वज है। या 'रिवाइटरूले' प्रतिस्थापन के अंत में बस '?' संलग्न करें। – MrWhite

+0

बहुत बढ़िया, धन्यवाद @ w3dk –