2008-10-01 18 views
10

यदि मैं अपने सभी 301 रीडायरेक्ट को नियंत्रित करने के लिए mod_rewrite का उपयोग करता हूं, तो क्या यह मेरे पृष्ठ परोसने से पहले होता है? इसलिए यदि मेरे पास मेरे पृष्ठ पर चलने वाली एक PHP स्क्रिप्ट में रीडायरेक्ट नियमों का समूह भी है, तो पहले .htaccess किक होगा?पहले क्या होता है? .htaccess या PHP कोड?

उत्तर

20

जब .htaccess फ़ाइल से प्रभावित यूआरआई को कोई अनुरोध किया जाता है, तो अपाचे आपके किसी भी PHP कोड निष्पादन से पहले किसी भी पुनर्लेखन नियमों को संभालेगा।

8

हां, आपकी स्क्रिप्ट की सेवा से पहले .htaccess फ़ाइल को पार्स किया गया है।

4

। Htaccess पहले होता है।

3

htaccess वेबसर्वर द्वारा नियंत्रित किया जाता है। यह फ़ाइल आपकी PHP फ़ाइल से पहले खाते में ली जाएगी।

उदाहरण के लिए, आप अपने एचटीएसीएएस फ़ाइल के साथ किसी विशेष फ़ोल्डर तक पहुंच प्रतिबंधित कर सकते हैं। इसलिए, इसे आपके PHP से पहले चार्ज करना होगा।

उम्मीद है कि इससे मदद मिलती है।

3

.htaccess php स्क्रिप्ट निष्पादन से पहले अपाचे द्वारा किया जाता है। (कल्पना करें कि PHP स्क्रिप्ट निष्पादित की गई है और फिर .htaccess किसी अन्य पृष्ठ पर पुनर्निर्देशन करता है ...)।

43

.htaccess पहले किक करेगा। आप अपाचे अनुरोध चक्र को देखें, तो:

Apache Request Cycle http://stein.cshl.org/~lstein/talks/perl_conference/apache_api/requestcycle.gif

पीएचपी एक प्रतिक्रिया हैंडलर है। mod_rewrite यूआरआई अनुवाद में चलता है, .htaccess और < निर्देशिका > या < स्थान > ब्लॉक जो फिक्सअप चरण में चलते हैं, को फिर से लिखने के नियमों को छोड़कर। ऐसा इसलिए है क्योंकि अपाचे को पता नहीं है कि यह कौन सी निर्देशिका है (और इस प्रकार < निर्देशिका > या पढ़ने के लिए .htaccess) यूआरआई अनुवाद के बाद तक।

छवि के बारे में गैब्रियल 1836 के सवाल के जवाब में, मैंने इसे this presentation की दूसरी स्लाइड से पकड़ लिया, लेकिन यह मूल रूप से पुस्तक से है: Writing Apache Modules in Perl and C जो मैं अत्यधिक अनुशंसा करता हूं। इस आदेश को आप जो आपके अनुरोध का जवाब है यह देखने के साथ

wget -S --spider http://yourdomain.com 

:

+0

क्या आप छवि के लिए एक लिंक पोस्ट कर सकते हैं? –

+0

छवि एट्रिब्यूशन जोड़ने के लिए संपादित किया गया। – bmdhacks

+0

दिलचस्प, मुझे एहसास नहीं हुआ कि प्रतिक्रिया केवल वितरित होने के बाद ही हुई थी। आरेख खोजने के लिए +1। –

1

तुम हमेशा के लिए निम्न आदेश के साथ इस परीक्षण कर सकते हैं।

जैसा कि अन्य सभी ने उल्लेख किया है, .htaccess पहले है।

0

तो बुनियादी तौर पर, .htaccess कम या ज्यादा प्रासंगिक PHP कोड या फ़ाइलें, .htaccess में निर्दिष्ट नियमों के अनुसार के रूप में की आवश्यकता है, जिसका अर्थ है .htaccess पहले चलाया जाता है।

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

  • कोई संबंधित समस्या नहीं^_^