2010-01-12 12 views
21

मैं चाहता हूं कि मेरी .htaccess फ़ाइल एक अलग रिवाइटबेस निर्दिष्ट करे, इस पर निर्भर करता है कि .htaccess फ़ाइल मेरी स्थानीय मशीन पर या वेब सर्वर पर है या नहीं। यह mod_rewrite कोड मैंने कोशिश की है, हालांकि, यह काम नहीं किया:mod_rewrite के साथ मैं एक रिवाइटकंड के भीतर एक रिवाइटबेस निर्दिष्ट कर सकता हूं?

RewriteCond %{HTTP_HOST} ^localhost:8080 
RewriteBase /example/ 
RewriteCond %{HTTP_HOST} ^www.example.com 
RewriteBase/

यह आसानी से अपने स्थानीय मशीन पर कई वेबसाइटों का पूर्वावलोकन और उसके बाद अलग-अलग डोमेन के लिए वेब सर्वर करने के लिए उन साइटों को अपलोड करने में सक्षम होने के लिए काम में आएगा नाम।

उत्तर

30

एकमात्र समाधान हम अंत में ऐसा दिखता है जैसे पाया:

# Activation of the URL Rewriting 
Options +FollowSymlinks 
RewriteEngine On 

# RewriteBase equivalent - Production 
RewriteCond %{HTTP_HOST} !^localhost$ 
RewriteRule . - [E=REWRITEBASE:/production/path/] 

# RewriteBase equivalent - Development 
RewriteCond %{HTTP_HOST} ^localhost$ 
RewriteRule . - [E=REWRITEBASE:/development/path/] 

# Rewriting 
RewriteRule ^(.*)$ %{ENV:REWRITEBASE}index.php?page=$1 [L] 

इस कोड को एक तरह से विभिन्न अनुकरण करने के लिए "RewriteBase" प्रदान करता है।

+1

कमाल। धन्यवाद! – Matthew

+0

क्या आप यह समझने में सक्षम थे कि क्यों एक वातानुकूलित 'रिवाइटबेस' काम नहीं करता है? मैं इस समय एक ही मुद्दे से निपट रहा हूं। – cballenar

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

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