2009-08-10 5 views
5

मैं निम्नलिखित समस्या है बाहर करने के लिए। मेरे पास एक उपनिर्देशिका में एक वेबसाइट और एक ब्लॉग है। वे दोनों php हैं। मेरे पास रूट फ़ोल्डर में एक .htaccess फ़ाइल है और ब्लॉग फ़ोल्डर में कोई दूसरा है। मैं नहीं सोचता कि प्रासंगिक है, लेकिन ब्लॉग स्क्रिप्ट वर्डप्रेस है।कैसे .htaccess में एक RewriteCond लिखने के लिए एक subdir और उसके उपनिर्देशिका

मैं यहाँ ब्लॉग के लिए किए गए अनुरोधों को छोड़ जड़ .htaccess में एक शर्त का जोड़ा,

rewriteCond %{REQUEST_URI} !^/blog.* 

यह है कि यह कैसे दिखता है। मैंने बाकी फाइल को हटा दिया:

Options +FollowSymlinks -MultiViews RewriteEngine on 

RewriteBase/RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php\ HTTP/ 

// my added line RewriteCond %{REQUEST_URI} !^/blog.* 


RewriteCond %{HTTP_HOST} !^www\. RewriteRule .* http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

RewriteRule ^(all)/([^/]+)/?$ story.php?title=$2 [L] RewriteRule ^(all)/?$ ?category=$1 [L] 

RewriteRule ^/?$ index.php [L] RewriteRule ^advanced-search/?$ advancedsearch.php [L] ... 

मेरी समस्या ब्लॉग अनुरोध से संबंधित है। उदाहरण के लिए कभी-कभी यदि मैं एक यूआरएल खोलने की कोशिश करता हूं तो यह ठीक काम करता है, कभी-कभी घर (मूल पृष्ठ ब्लॉग नहीं) खोला जाता है। यह बहुत अजीब लगता है। मुझे लगता है कि यह मेजबान से संबंधित है। जब होस्ट ब्लॉग पेज में व्यस्त होता है तो अनुरोध नहीं मिलता है इसलिए अनुरोध रूट पर जा रहा है। Htaccess।

  • हैं कि किसी नियम लिखने के तरीके और जगह यह/ब्लॉग के लिए सभी अनुरोधों बाहर करने के लिए जड़ .htaccess द्वारा फिर से लिखा जा करने के लिए करने के लिए:

    2 प्रश्न हैं? ब्लॉग अनुरोध हो सकता है http: //test.com/blog, http: //test.com/blog/, http: //test.com/blog/title, http: //test.com/ब्लॉग/शीर्षक /, http: //test.com/blog/category/title

  • किसी को भी किसी भी विचार क्या होता है करता है? जब मैं एक ब्लॉग पेज खोलता हूं तो यह होम रूट पेज खोलता है, और यदि मैं पृष्ठ को रीफ्रेश करता हूं तो यह ब्लॉग पोस्ट पेज पर जाता है?
+0

आप कोड को स्वरूपित कृपया सकते हैं ताकि यह अधिक "पठनीय" है (= नई पंक्तियां सही स्थानों पर)? धन्यवाद! –

उत्तर

2

mod_rewrite documentation, विशेष रूप से रीड्राइटकंड में -d ध्वज में एक नज़र डालें।

वह कुछ इस तरह होना चाहिए:

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule HERE 
संबंधित मुद्दे