2010-04-11 12 views
8

मुझे लगता है कि यह एक बहुत ही सरल सवाल है।मॉड रिवाइट फ़ोल्डर छुपाएं

फ़ोल्डर को छिपाने के लिए आप एक अपाचे रीराइट कैसे करते हैं।

पूर्व: www.website.com/pages/login.php www.website.com/login.php को

या www.website.com/pages/home.php www.website.com/ को home.php

फ़ोल्डर को हमेशा छिपाने की आवश्यकता है। धन्यवाद

उत्तर

12

मुझे लगता है कि ब्राउजर के लिए /home.php का अनुरोध करने के लिए आप क्या चाहते हैं, लेकिन सर्वर वास्तव में /pages/home.php पर स्थित फ़ाइल का उपयोग करने के लिए सही है? यदि ऐसा है, तो यह काम करना चाहिए:

सुनिश्चित करें कि अपाचे mod_rewrite मॉड्यूल स्थापित है।

RewriteEngine On 
RewriteRule ^/(.*)$ /pages/$1 

नियम, रेगुलर एक्सप्रेशन का उपयोग करें ताकि आप उस विषय अगर पर एक संदर्भ को देखने के लिए चाहते हो सकता है: फिर, अपने अपाचे config में कुछ इस तरह, आभासी मेजबान config, या (कम वांछनीय) .htaccess फाइल का उपयोग आप अनिश्चित हैं अन्य निर्देशों के बारे में अधिक जानकारी के लिए manual पढ़ें (रीवाइटकंड बहुत उपयोगी हो सकता है) या नियम विकल्प।

0

अपने उदाहरण वास्तव में फ़ाइलों की जरूरत है, तो अपनी .htacces फ़ाइल में दिखाता है:

#Options +FollowSymLinks 
RewriteEngine On 

RewriteRule ^/pages/(.+)\.php $1\.php [NC, L] 

इसके अलावा, अगर निर्देशिका अनुमति पढ़ा है, यह नहीं हो सकता है, वास्तव में "छिपा"। मुझे लगता है कि आप का मतलब है कि यह यूआरएल में अब प्रकट नहीं होता है।

+1

यह वही है जो मैंने पहले भी किया था। लेकिन इसका मतलब है कि उपयोगकर्ता पता बार में /pages/home.php देखेंगे, जबकि सर्वर /home.php की सेवा करेगा। पुनर्विचार के बाद, मुझे लगता है कि ओपी विपरीत चाहता है ... – grossvogel

+0

@grossvogel - आप सही हैं - मैंने अपने प्रश्न को और अधिक बारीकी से पढ़ा। – TMG

8

मुझे पता है कि यहां मूल पोस्ट कुछ साल पहले से था, लेकिन यह खोज इंजन में पहले आ रहा है, इसलिए शायद यह यूआरएल में फ़ोल्डर नाम को छिपाने में मदद करेगा।

बिल्कुल मूल पोस्टर क्या नहीं चाहता था, लेकिन उसी लाइन के साथ।

RewriteCond %{HTTP_HOST} ^mydomainname\.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.mydomainname\.com$ 
RewriteCond %{REQUEST_URI} !^/subfoldername/ 
RewriteRule (.*) /subfoldername/$1 

ऊपर के उदाहरण डोमेन के लिए रूट निर्देशिका में subfoldername निर्देशिका के लिए mydomainname.com या www.mydomainname.com के लिए किसी भी अनुरोध को रीडायरेक्ट होता है, और सबफ़ोल्डर नाम URL में दिखाई नहीं देतीं।

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