2011-10-04 15 views
7

एक विशेष (विशिष्ट) पृष्ठ, एक PHP या htaccess को पुनर्निर्देशित करने के लिए तेज़ तरीका क्या है? इस बात पर विचार करते हुए कि कई अलग-अलग पृष्ठों को उच्च ट्रैफ़िक साइट पर ऐसे रीडायरेक्ट की आवश्यकता हो सकती है। जैसेतेज पुनर्निर्देशन, PHP या htaccess?

पीएचपी (कोई डेटाबेस प्रश्नों शामिल, बस सरल सादे php रीडायरेक्ट)

header("Location: /new.php",TRUE,301); 

या

इनको

redirect 301 old.php http://site.com/new.php 

उत्तर

6

निर्भर करता है। सामान्य रूप से, .htaccess तेज़ होगा क्योंकि आपके पास PHP का आविष्कार करने का ओवरहेड नहीं होगा। हालांकि - यदि आपके पास दस्तावेज़ रूट स्तर पर एकल .htaccess फ़ाइल में 1000 रीडायरेक्ट हैं, तो अपाचे को प्रत्येक पृष्ठ लोड पर उनमें से प्रत्येक को जांचना होगा। यानी, सिर्फ index.php की सेवा करने के बजाय, अब आपको 1000 रेगेक्स चेक करना होगा, और फिर index.php परोसें। कुल मिलाकर, मैं कहूंगा कि यदि आपके पास और बहुत सारे रीडायरेक्ट हैं, तो बहुत सारे पेज रीडायरेक्ट नहीं किए जाएंगे, फिर इसे PHP में करें। इस मामले में, आप उन पृष्ठों के लिए कोई अतिरिक्त ओवरहेड नहीं देते हैं जिन्हें पुनर्निर्देशित करने की आवश्यकता नहीं है।

7

.htacess से पहले php कहा जाता है कार्रवाई की जाती है: क्या तेजी से होता है इसलिए यदि आप इसे बना सकते हैं, तो यह निश्चित रूप से तेज़ होगा

+2

हालांकि। .htaccess खुद को प्रत्येक हिट के लिए लोड/पार्स किया जाता है, इसलिए शायद कुछ परिस्थितियों में PHP तेजी से हो सकता है (विशेष रूप से बहुत जटिल। एक के लिए htaccess), विशेष रूप से कैश के साथ। –

+1

यदि कोई जटिल। Htaccess है, तो इसे किसी भी तरह से पार्स किया जाएगा और PHP को प्रोसेस करने के लिए उस समय जोड़ा जाएगा, इसलिए वहां कोई लाभ नहीं है – Einacio

2

यदि htaccess का उपयोग किया जाता है बिल्कुल, Apache किसी भी PHP प्रसंस्करण शुरू होने से पहले इसे संसाधित करेगा। मैंने एक या दूसरे का उपयोग करने पर बेंचमार्क नहीं किए हैं, लेकिन जब दोनों मौजूद हैं, तो htaccess हमेशा तेज़ होगा।

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

+0

htaccess हमेशा तेज़ रहेगा ... हाँ, लेकिन केवल उन पृष्ठों के लिए जिनके पास था हताशा जाने के लिए ब्याज; यदि आपके 99% पृष्ठ रीडायरेक्ट नहीं किए गए हैं, लेकिन फिर भी आपके .htaccess में 1 000 लाइनें हैं: फिर प्रत्येक अनुरोध के लिए .htaccess को पार्स करना और धीमा हो रहा है कि पेजों का 1% जो php को रीडायरेक्ट करने के बावजूद नहीं जा रहा है – spiritoo

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