मुझे पता है कि पहले से ही इसी तरह के प्रश्न पूछे गए हैं लेकिन मुझे अपनी स्थिति के लिए कोई वास्तव में विशिष्ट उत्तर नहीं मिला है।। एकाधिक वातावरण में एचटीएसीएसी
मैं कई वातावरण (स्थानीय, देव, उत्पादन) पर चल रहे एक ExpressionEngine साइट है, और उन वातावरण में से प्रत्येक के विभिन्न .htaccess नियमों की जरूरत है:
सभी वातावरण
- Remove index.php
- 404 फ़ाइल
- सेट करें 301 रीडायरेक्ट्स
विकास
- पासवर्ड .htpasswd
- बल HTTPS प्रोटोकॉल के साथ सुरक्षित रखें
- रोकें साथ X-Robots-Tag
उत्पादन खोज इंजन अनुक्रमण
- बल HTTPS प्रोटोकॉल
- पुनर्निर्देशन गैर- www www करने के लिए उप डोमेन
स्थानीय
- कोई विशिष्ट नियम।
मैंने कई उदाहरण देखे हैं कि आप प्रति-मॉड्यूल विशिष्ट वातावरण कैसे सेट कर सकते हैं। Mod_rewrite मॉड्यूल के लिए RewriteCond %{REQUEST_HOST} ^dev.myurl.com
और .htpasswd आवश्यकताओं के लिए tricks like this की तरह।
लेकिन जो मैं वास्तव में पसंद करूंगा वह वैश्विक पर्यावरण चर सेट करने का कोई तरीका है, फिर प्रति चर .htaccess फ़ाइल में उन चर का पुन: उपयोग करें। एक उदाहरण के रूप छद्म जावास्क्रिप्ट का उपयोग करने के लिए, कुछ की तरह:
var local = 'mysite.local';
var development = 'dev.mysite.com';
var production = 'www.mysite.com';
// Global .htaccess rules
if(environment == local){
// Local environment .htaccess rules
}
if(environment == development){
// Development environment .htaccess rules
}
if(environment == production){
//Production envirotnment .htaccess rules
}
इस तरह पर्यावरण-विशिष्ट नियमों के सभी सब एक साथ बांटा जाता है, एक बहुत साफ फ़ाइल बनाने, और केवल एक चर की जरूरत है एक ऐसे वातावरण अगर परिवर्तित करने की बदल गया है।
मैंने अपाचे की कॉन्फ़िगरेशन फ़ाइलों में सेटिंग्स को बदलने के लिए कुछ संदर्भ देखे हैं, लेकिन स्पष्ट रूप से यह एक व्यवहार्य विकल्प नहीं है यदि मैं तृतीय-पक्ष होस्ट से निपट रहा हूं।
तो क्या यह पाई-इन-द-स्काई इच्छापूर्ण सोच है, या यह किया जा सकता है?
मैं भर में आया था [इस अनुच्छेद] (http://www.thenerdary.net/पोस्ट/20 9 65499862/एचटीएसीएएस-वातावरण), जो मैंने अभी तक कोशिश नहीं की है लेकिन आशाजनक लग रही है। – kgrote