यूआरएल चर में स्लैश


106

मैंने पृष्ठ पर डायनेमिक url जैसे, के लिए अपना कोल्डफ़्यूज़न एप्लिकेशन सेट किया है

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

हालाँकि मेरे चर नामों में कभी-कभी स्लैश होंगे, जैसे कि

www.musicExplained/index.cfm/artist/GZA/Genius

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

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


4
वे सामान्य हैं, या आगे, स्लैश। बैकस्लैश नहीं।
कालेब चूल्हा

जवाबों:


175

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


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

1
यह मानक URL एन्कोडिंग है।
19

44
IIS अभी भी इसे एक के रूप में स्वीकार करता है /और मार्ग को तोड़ता है। :(
पायोतर कुला

21
Apache इसे a / के रूप में व्याख्या करती है और मार्ग को तब तक तोड़ती है जब तक AllowEncodedSlashes निर्देश चालू नहीं होता है (डिफ़ॉल्ट रूप से इसे बंद कर दिया जाता है)
chim

5
आप उपयोग कर सकते हैं encodeURIComponentऔर decodeURIComponentइस उद्देश्य के लिए।
केवॉन

17

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


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

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

UNderscores ARE BAD FOR SEOटिप्पणी के संबंध में । अंडरस्कोर की व्याख्या Google द्वारा अंडरस्कोर के रूप में की जाती है, डैश / हाइफ़न को रिक्त स्थान के रूप में व्याख्या की जाती है। क्यों? कोडर्स, बहुत सारे कोडर Google का उपयोग करते हैं (शुरुआती दिनों से ही Google सहित), यदि वे बिना किसी रिक्त स्थान के अंडरस्कोर का इलाज करते थे, तो आप अब foo_barखोज परिणामों के भीतर (किसी प्रकार का वर्ग) खोजने में सक्षम नहीं होंगे । ब्ला ब्ला ... निष्कर्ष में: अंडरस्कोर एसईओ के लिए खराब नहीं हैं यदि आप समझते हैं कि वास्तव में काम करने के लिए खोज इंजन आप "अनुकूलन" कैसे कर रहे हैं।
विलियम आइस्टेड

8

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

उदाहरण के लिए URLEncoder.encode(url, "UTF-8")

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

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

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.