2010-06-07 12 views
60

मैं पृष्ठ पर गतिशील यूआरएल के लिए मेरी coldfusion आवेदन की स्थापना की है, इस तरह केस्लैश

www.musicExplained/index.cfm/artist/:VariableName 

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

मुझे आश्चर्य है कि ऐसा होने से रोकने के लिए वैसे भी है? क्या मुझे ऐसे फ़ंक्शन का उपयोग करने की आवश्यकता है जो परिवर्तनीय नामों में किसी अन्य चरित्र के साथ स्लेश को प्रतिस्थापित करे?

+3

उन सामान्य हैं, या आगे, स्लैश। बैकस्लाश नहीं। –

उत्तर

99

आपको %2F के रूप में स्लैश से बचने की आवश्यकता है।

+0

ठीक है, यह एक अच्छा विचार प्रतीत होता है, क्या% 2F का उपयोग करने के लिए कोई विशिष्ट कारण है? – namtax

+0

यह मानक यूआरएल एन्कोडिंग है। – SLaks

+1

@namtax, urlencodedformat देखें(): http://www.cfquickdocs.com/cf9/#urlencodedformat – Henry

11

आप आसानी से आगे की स्लैश / को अंडरस्कोर _ जैसे रिक्त स्थान के लिए विकिपीडिया उपयोगों के साथ आसानी से प्रतिस्थापित कर सकते हैं। अंडरस्कोर आदि के साथ विशेष पात्रों को बदलना, सामान्य अभ्यास है।

+0

आपकी प्रतिक्रिया के लिए धन्यवाद, हाँ मैंने किया लगता है कि विशेष पात्रों को बदलने का सबसे अच्छा विचार होगा। – namtax

+3

यह सामान्य प्रथा है लेकिन यह सबसे अच्छा अभ्यास नहीं है। बच निकले वर्णों का उपयोग करना सबसे अच्छा अभ्यास है क्योंकि प्रत्येक ब्राउज़र इसे समझता है, हर सर्वर इसे समझता है और हर डेवलपर को ऐसा करने के लिए सीखना चाहिए यूएनडर्सकोर्स एसईओ के लिए भी खराब हैं! मैं बस यह कह रहा हूं क्योंकि मैं यह भी करता था और कठिन तरीके से सीखा और आपको कड़ी मेहनत कर रहा था। – ppumkin

+0

@ppumkin - आप ऐसा क्यों सोचते हैं? बच निकले वर्णों का उपयोग करना वास्तव में नहीं है सर्वोत्तम अभ्यास क्योंकि यह यूआरएल उत्पन्न करता है जो उपयोगकर्ता के अनुकूल नहीं हैं और शायद आपको गैर-तकनीक के लिए बहुत अजीब लग रहा है SERS। मुझे लगता है कि यूआरएल को यथासंभव समझदार रखने की कोशिश करना सर्वोत्तम है – vsync

2

आपको उनसे बचने की जरूरत है, लेकिन इसे मैन्युअल रूप से %2F द्वारा प्रतिस्थापित न करें। इसके लिए आप URLEncoder का उपयोग कर सकते हैं।

जैसे URLEncoder.encode(url, "UTF-8")

तो आप कह सकते हैं

yourUrl = "www.musicExplained/index.cfm/artist/" + URLEncoder.encode(VariableName, "UTF-8") 
+4

फ़ंक्शन URLEncoder कुछ ब्राउज़रों में परिभाषित नहीं है, उदा। क्रोम। तो मैं 'encodeURIComponent' का उपयोग करने का सुझाव देता हूं, https://www.w3schools.com/jsref/jsref_encodeuricomponent.asp –

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