2012-11-24 32 views
5

मेरा प्रश्न विशेष रूप से नीचे दिए गए दो पृष्ठों से संबंधित है, लेकिन यह आमतौर पर .htaccess फ़ाइल के बिना स्वच्छ URL का उपयोग करने के तरीकों से संबंधित है।.htaccess फ़ाइल के बिना स्वच्छ यूआरएल के साथ सिंगल पेज एप्लिकेशन?

http://www.decitectural.com/ और http://www.decitectural.com/about/

पृष्ठों ऊपर अमेज़न के S3, जो इनको फ़ाइलों के उपयोग के लिए अनुमति नहीं है पर होस्ट कर रहे हैं। नतीजतन, मुझे एक स्वच्छ यूआरएल रीराइट योजना बनाने का कोई आसान तरीका नहीं मिला है जो सभी अनुरोधों को एक इंडेक्स फ़ाइल में भेजता है, जो बदले में, जावास्क्रिप्ट का उपयोग करके यूआरएल की व्याख्या करता है और सही पेज लोड करता है (AJAX के साथ, या जैसा कि है सरल div दृश्यता टॉगलिंग के साथ, decitectural के साथ मामला)।

इस समस्या को रोकने के लिए, मैं आमतौर पर अमेज़ॅन एस 3 बाल्टी गुणों को संपादित करता हूं और इंडेक्स पेज और त्रुटि पृष्ठ दोनों index.html फ़ाइल में सेट करता हूं। इस मामले में, index.html फ़ाइल तब भी परोसा जाता है जब एक अमान्य पथ (जैसे/about /) का अनुरोध किया जाता है। अधिकांश भाग के लिए, यह एक कामकाजी समाधान रहा है ... यही है, जब तक मुझे एहसास हुआ कि मुझे index.html पृष्ठ के साथ 404 भी मिल रहा था जो Google को अनुक्रमणित करने से रोक देगा।

इससे मुझे इस समस्या का वैकल्पिक समाधान तलाशने का मौका मिला है। वर्तमान में, एक अस्थायी फिक्स के रूप में, मैं वास्तव में index.html फ़ाइल के डुप्लिकेट के साथ सर्वर पर/about/निर्देशिका बना रहा हूं। यह काम करता है, लेकिन स्पष्ट रूप से समस्या का असली समाधान नहीं है।

मैं कैसे S3 पर या किसी भी उदाहरण हैं जहां .htaccess फ़ाइल नहीं किया जा सकता में एक स्वच्छ यूआरएल मार्ग योजना स्थापित करने के लिए पर कोई सलाह की सराहना करेंगे।

उत्तर

0

यहाँ कुछ समाधान: Pretty URLs without mod_rewrite, without .htaccess

इसके अलावा, मुझे लगता है कि आप चला सकते हैं एक स्क्रिप्ट किसी सरणी या डेटाबेस से फाइल बनाने गतिशील रूप से तो यह आपकी सभी URL उत्पन्न करता है:

  • /सूचकांक .html
  • /about/index.html
  • /contact/index.html
  • ...

और एक क्रॉन में या मैन्युअल रूप से चलाने के लिए प्रत्येक संपादन पर स्क्रिप्ट को हुक करें। प्रदर्शन के मामले में सबसे अच्छा नहीं है लेकिन हे, यह काम करना चाहिए।

0

मुझे लगता है कि आप इसके बारे में गलत तरीके से जा रहे हैं। एस 3 आपको अपनी साइट की पेज संरचना का पूरा नियंत्रण देता है। यदि आप चाहते हैं कि आपका लिंक "/ about" हो, तो बस "इसके बारे में" नाम की एक फ़ाइल अपलोड करें, और आप कर चुके हैं। (हेडर सेट करें कि ब्राउज़र जानता है कि यह एचटीएमएल है।)

हाँ, यह किसी को "/ के बारे में /" या "/about.html" लिंक करता है, तो टूट जाएगा। लेकिन अगर आप अजीब तरीके से अपने लिंक के साथ गड़बड़ करते हैं तो कोई भी साइट तोड़ जाएगी। अपनी साइट से लिंक करते समय आपको सतर्क रहना होगा, क्योंकि आपके पास साफ करने के लिए आपके पास कोई पुनर्लेखन नियम नहीं होगा। लेकिन आपको स्वचालन करना चाहिए।