2011-10-12 11 views
16

डिबग करने के लिए मैं कैसे बनाने के लिए और डिबग स्क्रिप्ट इस तरह का है कि सिर दर्द का एक सा हो सकता है यदि आप उपयोग नहीं किया जाता उन्हें (मेरे जैसे) लिखने के लिए सोच रहा था।कैसे इनको फिर से लिखने स्क्रिप्ट

आप उन्हें बनाने के लिए उपकरण का उपयोग करें?

कोई युक्ति डिबग करने के लिए क्या करने के बजाय सिर्फ एक स्थानीय संरचना बनाने और देखते हैं कि ब्राउज़र में हो रहा है हो रहा है?

+0

संभव डुप्लिकेट http://stackoverflow.com/questions/9153262/ टिप्स-फॉर-डीबगिंग-एचटीएसीएएस-रीराइट-नियम) – Flimm

उत्तर

1

आप अपने वर्चुअलहोस्ट विन्यास में RewriteLog निर्देश सेट कर सकते हैं यह आपके द्वारा निर्दिष्ट फ़ाइल के लिए आवश्यक जानकारी लिखेंगे। (मैं

RewriteLog "/usr/local/var/apache/logs/rewrite.log" 

इसके अलावा, RewriteLogLevel निर्देश का उपयोग लॉगिंग की राशि

RewriteLogLevel 3 

read through

5
  1. आप यूआरएल के खिलाफ अपने पैटर्न का परीक्षण करने में मदद के लिए किसी भी regex परीक्षण उपकरण का उपयोग कर सकते हैं नियंत्रित करने के लिए मैं "रेगेक्स कोच" का उपयोग कर रहा हूं - विंडोज ऐप)। यह केवल पैटर्न के साथ आपकी मदद करेगा - आपको पहले से ही सामान्य तर्क/प्रवाह को फिर से लिखने के तरीके के बारे में पता होना चाहिए।

  2. करने के लिए डीबग आप अपाचे config फ़ाइल को संपादित करने में सक्षम होना चाहिए - RewriteLogLevel 9 और RewriteLog /path/to/rewrite.log का उपयोग क्या पुनर्लेखन यूआरएल के दौरान चल रहा है पर सटीक विवरण देखने के लिए (क्योंकि यह एक सर्वर config है आपके पास करने के लिए अपाचे पुनः आरंभ करना होगा नया सर्वर विन्यास लागू)।

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

    व्यस्त/उत्पादन सर्वर पर स्तर 9 का उपयोग के रूप में यह कुछ सेकंड के भीतर विशाल लॉग उत्पन्न कर सकता है।

  3. यदि आपको 301 (स्थायी) रीडायरेक्ट करने की आवश्यकता है - परीक्षण अवधि के दौरान 302 करें (जब तक कि आप नियम और परिणामों से खुश न हों - फिर 301 में बदलें) क्योंकि आधुनिक ब्राउज़र कैश 301 रीडायरेक्ट करते हैं .. इसलिए जब आप पूरी तरह से नियम बदल चुके हैं (या इसे हटा भी दिया है) तो आप निराशाजनक स्थिति में समाप्त हो सकते हैं लेकिन ब्राउज़र अभी भी रीडायरेक्ट करता है। इस तरह के मामले में एकमात्र इलाज - स्पष्ट ब्राउज़र कैश और पुनरारंभ करें। पाठकों के लिए

16

नोट: वर्ष जवाब अब काम नहीं करता।

संस्करण 2.4 के अनुसार, अपाचे अब RewriteLogLevel और RewriteLog निर्देशों की अनुमति नहीं देता है। अब वे सभी एकल LogLevel निर्देश (Log Files दस्तावेज़ देखें), जो उपसर्गों और trace[1-8] स्थिरांक साथ मॉड्यूल-विशिष्ट लॉग स्तरों का समर्थन करता है के साथ बंडल कर रहे हैं। पुनर्लेखन मॉड्यूल के लिए विशेष रूप से प्रवेश करने के उच्चतम स्तर सेट करने के लिए, अब आप निम्नलिखित:

LogLevel warn rewrite:trace8 
[डीबगिंग के लिए युक्तियाँ .htaccess नियमों को फिर से लिखने] (की
+0

जहां मैं राइटलाइट चेतावनी लिख सकता हूं: trace8 htaccess –

+6

और वहां लॉग देखने के लिए कहां है? – Umair

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