2012-11-12 17 views
5

में विभिन्न ढांचे को चलाने के लिए .htaccess का उपयोग करके मैं ज़ेंड साइट की उप निर्देशिका में एक गैर-ज़ेंड PHP अनुप्रयोग चलाने की कोशिश कर रहा हूं। मैं .htaccess में उप निर्देशिका '/ शाखाओं' के भीतर सभी फ़ाइलों के लिए ज़ेंड एप्लिकेशन को बाईपास करना चाहता हूं। अभी तक मुझे मिले समाधानों में से कोई भी काम नहीं किया है। यहां वर्तमान। Htaccess फ़ाइल है:ज़ेन फ्रेमवर्क को बाईपास करने और उप निर्देशिका

RewriteEngine on 
RewriteBase/

# WWW Resolve 
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC] 
RewriteRule ^web/content/(.*)$ http://www.domain.com/$1 [R=301,L] 

# Eliminate Trailing Slash 
RewriteRule web/content/(.+)/$ http://www.domain.com/$1 [R=301,L] 

# Route Requests 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 

क्या यह .htaccess में भी पूरा हो सकता है?

+0

मुझे यहां कुछ भी दिखाई नहीं देता है जो इंगित करता है कि आपने किसी भी पुनर्लेख नियम/शाखाओं से संबंधित नियमों को आजमाया है क्या आप हमें दिखा सकते हैं कि आपने क्या काम नहीं किया है? क्या आप उन अनुरोधों के सीधे पास-थ्रू की तलाश में हैं, या क्या उन्हें अपने स्वयं के पुनर्लेख तर्क की आवश्यकता है? –

+0

मैं '/ शाखाओं' के भीतर किसी भी चीज़ के माध्यम से सीधे पास करना चाहता हूं। मैंने निम्नलिखित कोशिश की है: 'रिवाइटरूले! (शाखाएं) $ index.php - [एनसी, एल]' 'रिवाइटरूले^शाखाएं/$ शाखाएं/index.php [एल, क्यूएसए] ' ' रिवाइट्रूल^ब्लॉग - [ एनसी, एल] ' और उन पर कई बदलाव। –

उत्तर

1

मैं कर रहा था .htaccess को बदले बिना इस समस्या के समाधान और इसके बजाय सिर्फ '/ सामग्री' के भीतर मेरी उप निर्देशिका का मौक़ा मिला।

1

आप वर्तमान में है:

RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 

यह कोई मतलब नहीं है, RewriteCond के रूप में आप मूल रूप से वास्तविक फ़ाइलें, निर्देशिका के लिए कुछ भी नहीं करने के लिए निर्दिष्ट किया है, और सिमलिंक कभी काम नहीं करेगा। ऐसा इसलिए है क्योंकि, revriteRule को तुरंत index.php पर सब कुछ लिखने के लिए नियम द्वारा पालन किया जाता है।

अपने इरादे सब कुछ है कि index.php करने के लिए फ़ाइल की एक वास्तविक निर्देशिका के लिए एक अनुरोध नहीं है निर्देशित करने के लिए है, तो आप कुछ इस तरह होना चाहिए:

RewriteCond %{REQUEST_FILENAME} -s 
RewriteCond %{REQUEST_FILENAME} -l 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ index.php [NC,L] 

और /branches अनदेखी के विशेष मामले में जोड़ने के लिए सिर्फ इस तरह एक शर्त जोड़ें:

RewriteCond %{REQUEST_FILENAME} -s 
RewriteCond %{REQUEST_FILENAME} -l 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteCond %{REQUEST_FILENAME} !^branches/ 
RewriteRule ^.*$ index.php [NC,L] 
+1

यह वास्तव में डिफ़ॉल्ट ज़ेंड है। Htaccess है। उन परिवर्तनों को लागू करने से ज़ेंड एप्लिकेशन टूट जाता है। –

+0

[एनसी, एल] का मतलब यह होगा कि रिवाइटरूल किसी अन्य नियम को निष्पादित नहीं करता है, इसलिए हाँ, रयान की मूल एचटीएसीएएस काम करता है। –

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

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