2009-08-17 20 views
6

के साथ mod_jk संघर्ष मुझे एक अपाचे और टॉमकैट चल रहा है और मैं उन्हें बांधने के लिए mod_jk का उपयोग करता हूं। मैं एक बिलाव कार्यकर्ता "TC1" कहा जाता है और मेरे VirtualHost पर निम्नलिखित सेटअप:mod_rewrite

JkMount /* tc1 
JkUnMount /*.png tc1 
JkUnMount /*.gif tc1 
JkUnMount /*.css tc1 
JkUnMount /*.js tc1 

इस तरह बिलाव स्थिर फ़ाइलों के लिए लोगों के अलावा सभी अनुरोधों कार्य करता है।

अब मैं mod_rewrite का उपयोग करें और बहुत ही सरल कुछ करना चाहता हूँ जैसे:

RewriteEngine On 
RewriteRule ^/foo$ /bar [L] 

"/ foo" के लिए "/ बार" में गतिशील पृष्ठ-अवलोकन के पुनर्लेखन के लिए, लेकिन यह क्योंकि सभी URL में काम नहीं करता है mod_rewrite द्वारा संसाधित mod_jk में समाप्त नहीं होता है।

मैंने Apache Tomcat Connector documentation पढ़ा है और सभी JkOptions को आजमाया है लेकिन कुछ भी नहीं बदला है।

क्या कोई इसे हल करने के बारे में जानता है?

क्या mod_jk और mod_rewrite लोड ऑर्डर और घोषणाएं यूआरएल प्रोसेसिंग में कोई भूमिका निभाने का आदेश देती हैं?

धन्यवाद

उत्तर

12

कि अजीब है, क्योंकि डिफ़ॉल्ट रूप से एक RewriteRule एक क्लाइंट-साइड रीडायरेक्ट भेजता है, तो ग्राहक एक दूसरे अनुरोध/बार जो अपने JkMount द्वारा पकड़ा जाना चाहिए करने के लिए करना चाहिए। क्या आपका एक्सेस लॉग शो /foo के लिए अनुरोध दिखाता है और /bar के लिए अनुरोध भी दिखाता है?

बजाय इस नियम का प्रयास करें:

RewriteRule ^/foo$ /bar [PT,L] 

"पीटी" का अर्थ है "पास-थ्रू", और एक पुनर्लेखन bodge जो आप सीटू यूआरएल उत्परिवर्तित लिए अनुमति देता है और अन्य मॉड्यूल में एक नज़र प्राप्त करने देता है, एक रीडायरेक्ट भेजने के बिना।

+0

आपके उत्तर के लिए धन्यवाद। मैं कोशिश करूँगा और परिणाम पोस्ट करूंगा। ध्यान दें कि मैं क्लाइंट साइड रीडायरेक्ट नहीं करना चाहता, लेकिन एक यूआरएल फिर से लिखना चाहता हूं। – cherouvim

+0

बहुत बहुत धन्यवाद! पीटी (पासथ्रू) मैं चाहता था! – cherouvim