2013-02-15 55 views
9

पर रीडायरेक्ट करता है मुझे पता है कि यह कई अन्य प्रश्नों की तरह लगता है, लेकिन मुझे जवाब नहीं मिल रहा है।.htaccess एक उपफोल्डर से अन्य उपफोल्डर

आप पर हैं कहते हैं: www.domain.com/folderB/folder2/folder3/

: www.domain.com/folderA/folder2/folder3/

मुझे लगता है कि रीडायरेक्ट करना चाहते हैं तो पूरी संरचना वही रहती है .. यह सिर्फ रीडायरेक्ट करता है। अब अब तक मेरे पास है:

RewriteEngine on 
RewriteCond %{REQUEST_URI} ^/folderA [NC] 
RewriteRule ^(.*)$ /folderB/$1 [R=301,L] 

लेकिन जब मैं का उपयोग करें, यह सिर्फ www.domain.com/folderB/folderA/folder2/folder3/

क्या मैं गलत कर रहा हूँ क्या करेंगे? मैं उस फ़ोल्डर ए से कैसे छुटकारा पा सकता हूं?

उत्तर

12

पैटर्न ^(.*)$ में उपसर्ग folderA भी शामिल है। आपको पैटर्न में स्पष्ट रूप से folderA निर्दिष्ट करना होगा और केवल RewriteRule में बाद वाला भाग कैप्चर करना होगा। तो फिर तुम RewriteCond

RewriteEngine on 
RewriteRule ^/?folderA/(.*)$ /folderB/$1 [R,L] 

कभी 301 सक्षम के साथ परीक्षण ड्रॉप कर सकते हैं, जानकारी के लिए इस सवाल का जवाब Tips for debugging .htaccess rewrite rules देखते हैं।