यह पहले से ही नीचे पर भी चर्चा है, लेकिन मेरा मानना है कि निम्नलिखित नुस्खा इस समस्या का एक नहीं बल्कि जलरोधक समाधान है:
इसकी फिर से लिखा यूआरएल के माध्यम से एक पृष्ठ सेट करें पुनर्निर्देशन
अनुरोध
यदि अनुरोध पृष्ठ को प्रश्न में वापस लाता है, तो आपको HTTP 404 प्रतिक्रिया प्राप्त होने पर पुनर्निर्देशन सही तरीके से सेट किया गया है, तो यह काम नहीं कर रहा है।
विचार मूल रूप से यह है कि यह किसी भी पुनर्निर्देशन विधि के साथ काम करता है। इसका पहले ही उल्लेख किया जा चुका है, लेकिन भालू दोहराते हैं, इस तरह की चालें ओवरहेड का थोड़ा सा जोड़ती हैं और केवल एक बार बेहतर होती हैं (स्थापना या सेटिंग पैनल से) और फिर सेटिंग में सहेजी जाती हैं।
कुछ कार्यान्वयन विवरण, विकल्प बनाने के लिए और कैसे मैं इस समाधान के लिए आया था पर एक छोटे से:
मुझे याद Drupal स्थापना प्रक्रिया के दौरान इस तरह के एक चेक किया, तो मैं ऊपर देखा कि वे किस तरह किया था। उनके पास इंस्टॉल पेज पर जावास्क्रिप्ट था AJAX अनुरोध (समकालिक रूप से, डेटाबेस के साथ समवर्ती मुद्दों को रोकने के लिए)। इसके लिए उपयोगकर्ता को जावास्क्रिप्ट चालू करने के लिए सॉफ़्टवेयर इंस्टॉल करने की आवश्यकता होती है, लेकिन मुझे नहीं लगता कि यह एक अनुचित आवश्यकता है।
हालांकि, मुझे लगता है कि पृष्ठ का अनुरोध करने के लिए php का उपयोग क्लीनर समाधान हो सकता है। जावास्क्रिप्ट आवश्यकता के साथ परेशान न होने के साथ-साथ इसे आगे और पीछे भेजने के लिए भी कम डेटा की आवश्यकता होती है और केवल कई फाइलों पर कार्रवाई के तर्क की आवश्यकता नहीं होती है। मुझे नहीं पता कि किसी भी विधि के लिए अन्य (डी) लाभ हैं, लेकिन यह आपको जा रहा है और आपको वैकल्पिक विकल्पों का पता लगाने देता है।
एक और विकल्प बनना है: परीक्षण परीक्षण में या सामान्य साइट पर परीक्षण करना है या नहीं। ड्रूपल की चीज सिर्फ रीडायरेक्शन चालू होती है (जैसे कि अपाचे केस में, .htaccess फ़ाइल है जो रीडायरेक्ट करता है केवल ड्रूपल डाउनलोड का हिस्सा बनती है) लेकिन अगर रीडायरेक्शन चालू होता है तो केवल फैंसी यूआरएल लिखते हैं सेटिंग्स। इसका नुकसान यह है कि यह पता लगाने के लिए और अधिक काम होता है कि किस प्रकार के पुनर्निर्देशन का उपयोग किया जाता है, लेकिन यह अभी भी संभव है (उदाहरण के लिए आप एक जीईटी वैरिएबल जोड़ सकते हैं, फिर भी एक विशिष्ट परीक्षण पृष्ठ पर या यहां तक कि प्रत्येक पृष्ठ पर रीडायरेक्शन इंजन दिखा रहा है, या आप $redirectionEngine
सेट करने वाले पृष्ठ पर रीडायरेक्ट करें और फिर वास्तविक अनुक्रमणिका शामिल करें)। हालांकि मुझे अपाचे पर mod_rewrite के अलावा पुनर्निर्देशन के साथ अधिक अनुभव नहीं है, मुझे विश्वास है कि यह लगभग हर पुनर्निर्देशन इंजन के साथ काम करना चाहिए।
दूसरा विकल्प यहां एक परीक्षण वातावरण का उपयोग करना है। असल में विचार यह है कि या तो फ़ोल्डर बनाएं और इसके लिए पुनर्निर्देशन सेट करें, या फ़ाइल सिस्टम लिखने की आवश्यकता को हटा दें और इसके बजाय एक फ़ोल्डर (या प्रत्येक पुनर्निर्देशन इंजन के लिए एक फ़ोल्डर) को हटा दें।इसके कुछ नुकसान हैं: आपको अभी भी मुख्य साइट के लिए पुनर्निर्देशन सेट अप करने के लिए लेखन पहुंच की आवश्यकता है (हालांकि शायद सभी पुनर्निर्देशन इंजन के लिए नहीं, मैं वास्तव में नहीं जानता कि आप उन्हें कैसे ठीक से सेट करते हैं - लेकिन अपाचे के लिए आपको लेखन पहुंच की आवश्यकता होगी यदि आप पुनर्निर्देशन चालू करने जा रहे हैं), किसी भी सॉफ़्टवेयर का पता लगाने के लिए यह आसान हो सकता है कि आप किस सॉफ्टवेयर और परीक्षण का उपयोग करके इसका उपयोग कर रहे हैं (जब तक आप परीक्षण के बाद परीक्षण फ़ोल्डर्स को हटा नहीं देते) और आपको सक्षम होने की आवश्यकता है साइट के केवल एक हिस्से के लिए पुनः लिखें (जो कि किसी भी पुनर्निर्देशन इंजन की संभावना होने के लिए समझ में आता है, लेकिन मैं इस कार्यक्षमता को अंधाधुंध मानने वाला नहीं हूं)। हालांकि, यह पता लगाना आसान है कि कौन सा रीराइट इंजन इस्तेमाल किया जा रहा है या मूल रूप से पुनर्निर्देशन का कोई अन्य पहलू है। ऐसे अन्य फायदे भी हो सकते हैं जिन्हें मैं नहीं जानता, इसलिए मैं केवल विकल्प देता हूं और आपको अपनी विधि चुनने देता हूं।
उपयोगकर्ता के लिए कुछ विकल्प छोड़े गए हैं, मेरा मानना है कि इससे आपको सिस्टम को इस तरह से स्थापित करने में मदद करनी चाहिए।
हाँ, जवाब के लिए धन्यवाद। मैं पूरी तरह से अपाचे विशिष्ट कार्यों के बारे में भूल गया। अपाचे के लिए –
ग्रेट समाधान। मैं एक ही पंक्ति में सोच रहा था। –