2011-02-10 9 views
34

मैं एक PHP परियोजना जहाँ मैं किसी URL का पथ के भीतर एक हैश चरित्र (#) को भेजने की जरूरत है में हैश पात्रों के साथ पथ परिवर्तित करने के लिए। (http://www.example.com/parameter#23/parameter#67/index.php) मैंने सोचा था कि urlencode उस को अनुमति देगा, हैश को% 23mod_rewrite का उपयोग कर क्वेरी स्ट्रिंग

लेकिन अब मैं देखता हूं कि urlencoded हैश ब्राउज़र को यूआरएल खंड (या क्वेरी) के रूप में दाईं ओर सब कुछ ठीक करने के लिए मजबूर करता है।

वहाँ के माध्यम से एक हैश पारित करने के लिए एक रास्ता है, या मैं एक चरित्र प्रतिस्थापन urlencode करने से पहले क्या करने की जरूरत है? जोड़ने के लिए

संपादित करें (19 सितं, 2017):

ऐसा लगता है कि मैं गलत सवाल पूछ रहा था। मेरा मुद्दा पथ के भीतर हैश चरित्र का उपयोग करने के साथ नहीं था (एन्कोडिंग यह काम करता है), लेकिन इसे mod_rewrite का उपयोग करने के लिए इसे एक क्वेरी स्ट्रिंग में परिवर्तित करने के लिए। मैं इसे रीवाइटरूले के भीतर फिर से एन्कोड करने में विफल रहा था। मैं मिलान करने के लिए शीर्षक संपादित करेंगे।

यहाँ पुनर्लेखन नियम मैं उपयोग कर रहा था है: के रूप में मैं बी टैग जोड़ा जैसे ही

RewriteEngine On 
# convert path strings into query strings 
RewriteRule "^(.*)/(.*)/hashtags.php"  /hashtags.php?parameter_1=$1&parameter_2=$2 [QSA,L] 

, इसे सही ढंग से काम किया:

RewriteEngine On 
# convert path strings into query strings 
RewriteRule "^(.*)/(.*)/hashtags.php"  /hashtags.php?parameter_1=$1&parameter_2=$2 [QSA,L,B] 
+0

किस तरह से आपको लगता है कि URL का उपयोग करते हैं? – Gumbo

+0

मेरा मानना ​​है कि urlencode को% 23 में बदलना चाहिए, क्या आप एक उदाहरण कोड प्रदान कर सकते हैं? –

+0

मैं गतिशील रूप से बनाए गए पीडीएफ के लिए स्थिर लिंक बना रहा हूं। मैं पथ तत्वों को $ _GET में पास करने के लिए मॉडर्राइट का उपयोग कर रहा हूं। वे पीडीएफ बनाने के लिए आवश्यक उत्पाद पैरामीटर हैं। कुछ उत्पादों में उत्पाद नामों में हैश टैग हैं। – Mark

उत्तर

84

एनकोड% 23

साथ URL में हैश
http://twitter.com/home?status=I+believe+in+%23love 

"मैं #love में विश्वास करते हैं"

यूआरएल एन्कोडिंग संदर्भ: http://www.w3schools.com/tags/ref_urlencode.asp

+0

धन्यवाद आदमी! यह एक बिल्कुल नया जवाब है :) – Spider

+2

यह काम करता है, आश्चर्यजनक है कि इसे सही उत्तर देने के लिए बहुत लंबा समय लगता है – benjineer

+0

इस उत्तर को सही के रूप में चिह्नित किया गया। मुझे आश्चर्य है कि ब्राउज़र में बदलाव आया था जब मैंने पहली बार पूछा था। मैंने निश्चित रूप से% 23 की कोशिश की। – Mark

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