मुझे एक टोमकैट 6 वेब ऐप मिला है जो अपाचे httpd के साथ फ्रंट एंड के रूप में चल रहा है। मैं tomcat के अनुरोधों को अग्रेषित करने के लिए mod_proxy और mod_proxy_ajp का उपयोग कर रहा हूं। मेरा सर्वर उबंटू चला रहा है। अब मैं अग्रणी www दूर करने के लिए है, इसलिए है कि मेरी विहित वेबसाइट यूआरएल है http://domain.com बल्कि http://www.domain.com सेमैं समस्या निवारण कैसे करूं कि मेरे पुनर्लेख नियम अपाचे द्वारा क्यों लागू नहीं किए जा रहे हैं?
मैं mod_rewrite का उपयोग कर पर ट्यूटोरियल की एक संख्या पढ़ा है mod_rewrite उपयोग करने के लिए कोशिश कर रहा हूँ, लेकिन मैं किसी भी करने के लिए पुनर्लेखन नहीं मिल सकता है काम। मैंने rehite rule को .htaccess फ़ाइल में डालने का प्रयास किया है (मेरे/etc/apache/साइट-उपलब्ध/डिफ़ॉल्ट फ़ाइल को सभी को अनुमति दें सेट करने के लिए संशोधित करने के बाद)। मैंने apache2.conf, httpd.conf, और rewrite.conf में पुनर्लेखन नियम डालने का प्रयास किया है। मैंने इन सभी को पुन: लिखने के साथ चालू करने की कोशिश की है। लॉग फ़ाइल बनाई गई है, लेकिन अपाचे ने इसके लिए कुछ भी नहीं लिखा है। मैंने सोचा कि शायद mod_proxy किसी भी तरह से पुनर्लेखन नियमों को इस्तेमाल करने से रोक रहा था, इसलिए मैंने इसे अक्षम करने का भी प्रयास किया ... और मुझे अभी भी कोई पुनः लिखना नहीं है, और लॉग के लिए कुछ भी नहीं है।
इस बिंदु पर मुझे बिल्कुल पता नहीं है कि आगे क्या प्रयास करना है। मैं समस्या निवारण के बारे में कैसे जा सकता हूं क्यों अपाचे मेरे पुनर्लेखन नियमों का उपयोग नहीं कर रहा है?
संदर्भ के लिए, मेरे फिर से लिखने के निर्देश दिए गए हैं:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.domain.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]
RewriteLog "/var/log/apache2/rewrite.log"
RewriteLogLevel 3
</IfModule>
संपादित: नीचे की प्रतिक्रियाएं मेरी विशेष मामले के लिए उपयोगी होते हैं, लेकिन शायद के रूप में के बारे में कैसे जवाब के रूप में समुदाय पर बड़े के लिए उपयोगी नहीं आप सामान्य रूप से अपाचे निर्देशों का निवारण करते हैं। उदाहरण के लिए, क्या उस बिंदु पर लॉगिंग सक्षम करने का कोई तरीका है जहां यह मुझे बताएगा कि कौन से निर्देश लागू किए जा रहे हैं, जिसमें अनुरोध के रूप में आदेश दिया गया है?
संपादित करें 2: मुझे अब काम करने के लिए चीज़ें मिल गई हैं। मेरे आभासी मेजबान बिल्कुल सही नहीं थे, और मेरे पास रीराइट रीजिक्स सही नहीं था। यहां काम करने के लिए मिले अंतिम पुनर्लेख निर्देश यहां दिए गए हैं:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.domain\.com [NC]
RewriteRule ^(.*)$ http://domain.com$1 [L,R=301]
</IfModule>
क्या आपने यह सुनिश्चित किया है कि mod_rewrite लोड हो गया है? –
हां। मैंने इसे "a2enmod rewrite" का उपयोग करके लोड किया है, जो मॉड-सक्षम में mod \ _rewrite.load को इंगित करने के लिए मोड-सक्षम में एक सिम्लिंक सेट करता है। मैंने जानबूझकर फिर से लिखने के नियमों में से एक को गलत तरीके से गलत तरीके से गलत तरीके से गलत तरीके से याद किया है (यानी "रिवाइट 3 नियम") यह जांचने के लिए कि नियम वास्तव में अपाचे द्वारा उठाए जा रहे हैं, और अपाचे मुझे एक त्रुटि संदेश देता है जैसा कि मैं उम्मीद करता हूं। जब मैं वर्तनी को ठीक करता हूं और अपाचे को पुनरारंभ करता हूं तो यह ठीक हो जाता है। –