2010-03-04 8 views
5

मैं ऐसी साइट का निर्माण कर रहा हूं जिसमें उत्पादों हैं, जिनमें से प्रत्येक एक या अधिक श्रेणियों से संबंधित है, जिसे मूल श्रेणियों में घोंसला जा सकता है।क्या यह रूटिंग उद्देश्यों के लिए यूआरएल में पिछली स्लैश पर निर्भर है?

  1. mysite.com/category/
  2. mysite.com/category/product
  3. mysite.com/category/sub-category: मैं एसईओ के अनुकूल यूआरएल है, जो इस तरह दिखेगा करना चाहते हैं/
  4. mysite.com/category/sub-category/product

मेरा प्रश्न है: यह मामलों 2 और 3 के बीच अंतर करने के बाद स्लैश की उपस्थिति पर निर्भर करने के लिए सुरक्षित है? क्या मैं हमेशा यह मान सकता हूं कि उपयोगकर्ता एक श्रेणी सूचकांक चाहता है जब एक पिछला स्लैश पता चला हो, कोई विशिष्ट उत्पाद पृष्ठ नहीं बनाये बिना किसी पीछे वाले स्लैश के?

मैं इस यूआरआई योजना को लागू करने के बारे में चिंतित नहीं हूं; मैंने PHP और mod_rewrite के साथ पहले से ही बहुत कुछ किया है। मैं बस सोच रहा हूं कि अगर कोई इस तरह के यूआरएल रूटिंग के लिए किसी भी आपत्ति के बारे में जानता है। क्या पता बार से पीछे वाले यूआरएल को अलग करने/जोड़ने वाले ब्राउज़रों के साथ कोई ज्ञात समस्या है, या ऐसे साइट को क्रॉल करने वाले खोज इंजन के साथ? कोई एसईओ मुद्दे या अन्य ठोकरें ब्लॉक जो मैं चलाने की संभावना है?

+2

आप नोट्स में से किसी एक को लागू करके अपने यूआरएल को स्पष्ट क्यों नहीं करते हैं (स्लैश के पीछे या बिना)? – Gumbo

+0

@ गम्बो अस्पष्टता उत्पन्न होती है क्योंकि मैं यह नहीं बता सकता कि '/ category/abc' किसी श्रेणी या उत्पाद के लिए अनुरोध है या नहीं। मैंने सोचा कि मैं पिछला स्लैश के माध्यम से उत्पाद और श्रेणी अनुरोधों को अलग करके इसे हल कर सकता हूं। – meagar

उत्तर

5
अन्य ख़तरा विचारों को आप उल्लेख किया है, उपयोगकर्ता खुद यूआरएल बदल सकता है (उत्पाद या श्रेणी लिखकर) और जोड़ने/अनुगामी हटाने "/" के अलावा

अपनी समस्या को हल करने के लिए, क्यों एक विशेष उप-श्रेणी "सभी" और "mysite.com/category/product" के बजाय नहीं "mysite.com/category/ सभी/उत्पाद" है?

+0

सच है, उस पर विचार नहीं किया था। हालांकि इन यूआरएल में उपयोगकर्ता शायद ही कभी टाइपिंग करेंगे; लक्षित दर्शकों को बेहद गैर तकनीक-समझदार है। मैं अभी भी मुख्य रूप से एसईओ और ब्राउज़र कार्यक्षमता से चिंतित हूं। मैं प्लेस धारक उप-श्रेणी पर भी विचार कर रहा हूं, हालांकि मैं 'उत्पादों' का उपयोग करने की योजना बना रहा हूं: 'mysite.com/category/products/product_name'। – meagar

1

कभी नहीं मान लें कि उपयोगकर्ता कुछ भी करेगा लेकिन किसी भी यूआरएल से संबंधित सबसे खराब स्थिति परिदृश्य।

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

5

मेरे लिए, यह बहुत अप्राकृतिक लगता है कि http://product/ और http://product दो पूरी तरह से अलग संसाधनों का प्रतिनिधित्व करेगा। यह भ्रमित है, और यह आपके यूआरएल को कम hackable बनाता है, क्योंकि यह बता देना मुश्किल है कि पिछला स्लैश कब मौजूद होना चाहिए या नहीं।

इसके अलावा, RFC 3986 में, यूनिफ़ॉर्म रिसोर्स पहचानकर्ता (URI): जेनेरिक सिंटेक्स, वहाँ अध्याय 6.2.4 में प्रोटोकॉल आधारित सामान्यीकरण पर एक नोट है, जो गैर मानव के संबंध में इस विशेष स्थिति के बारे में बात करती है है इस तरह के खोज इंजन और वेब मकड़ियों के रूप में आपकी साइट के आगंतुकों,:

पर्याप्त मिथ्या नकारात्मक की घटनाओं को कम करने के प्रयास वेब मकड़ियों के लिए अक्सर लागत प्रभावी है। इसलिए, वे यूआरआई तुलना में और भी आक्रामक तकनीकों को लागू करते हैं।उदाहरण के लिए, अगर वे देख सकते हैं कि एक URI जैसे

http://example.com/data

पुनर्निर्देश यूआरआई के लिए एक ही अनुगामी में भिन्न स्लेश

http://example.com/data/

वे में बराबर के रूप में दो संबंध होने की संभावना होगी भविष्य। (...)

3

अंतर करने का एक तरीका यह सुनिश्चित करना होगा कि उत्पाद पृष्ठों का विस्तार हो, लेकिन श्रेणी या उप-श्रेणी पृष्ठ नहीं हैं। यही कारण है:

  1. mysite.com/category/
  2. mysite.com/category/product.html
  3. mysite.com/category/sub-category/
  4. mysite.com/category/sub -श्रेणी/product.html

इससे यह स्पष्ट नहीं होता है।

0

यह प्रश्न मानता है कि एक यूआरएल के पीछे एक पीछे की स्लैश के अतिरिक्त एक यूआरएल बनाता है जो अलग संसाधन को संदर्भित करता है। ये गलत है; यूआरएल का अर्थशास्त्र यह है कि वे दोनों एक ही संसाधन का संदर्भ देते हैं। बेस यूआरएल में एक पिछला स्लैश की उपस्थिति केवल changes उस बेस यूआरएल का उपयोग करके संबंधित यूआरएल का अर्थ कैसे लिया जाता है।

+0

क्या आप इसके लिए कोई संदर्भ उद्धृत कर सकते हैं? – meagar

+1

@meagar देखें http://en.m.wikipedia.org/wiki/URL_normalization एक पिछला स्लैश के अतिरिक्त * कोई फर्क नहीं पड़ता * (दुर्भाग्यवश ऐसा करने की गारंटी नहीं है, क्योंकि यह प्रश्न दर्शाता है: एक सर्वर * हो सकता है * उन्हें अलग तरह से इलाज करें)। – Raedwald

+0

ध्यान दें कि मैं सहमत हूं, मैं बस कुछ और ठोस चाहता था। मैं कम से कम एक प्रमुख (वास्तव में, * सबसे * प्रमुख) रेल-आधारित वेब सेवा के बारे में जानता हूं जो मार्ग/': बेसकैम्प के आधार पर अलग-अलग मार्ग बनाता है। एक पिछला '/' जोड़ें और आपका यूआरएल अचानक 404 होगा। – meagar

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