So che domande simili sono state poste prima ma non ho trovato risposte veramente specifiche per la mia situazione..htaccess in ambienti multipli
Ho un sito ExpressionEngine in esecuzione su più ambienti (locali, dev, produzione), e ciascuno di questi ambienti esigenze diverse regole .htaccess:
tutti gli ambienti
- Remove index.php
- Impostare un file 404
- Impostare 301 reindirizzamenti
Sviluppo
- Password Protect con .htpasswd protocollo
- Forza HTTPS
- Impedisci indicizzazione dei motori di ricerca con X-Robots-Tag
Produzione
- Forza protocollo HTTPS
- Redirect sottodomini non www a www
locali
- Nessun regole uniche.
Ho visto molti esempi di come è possibile impostare specifici ambienti per modulo. Come RewriteCond %{REQUEST_HOST} ^dev.myurl.com
per il modulo mod_rewrite e tricks like this per i requisiti di .htpasswd.
Ma quello che preferirei è un modo per impostare variabili di ambiente globali, quindi riutilizzare tali variabili nel file .htaccess per-environment. Per utilizzare pseudo-javascript come esempio, qualcosa come:
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
}
In questo modo tutte le regole specifiche per l'ambiente sono tutti raggruppati insieme, facendo un file veramente pulito, e solo una variabile deve essere cambiato se un ambiente è cambiato.
Ho visto alcuni riferimenti alla modifica delle impostazioni nei file di configurazione di Apache, ma ovviamente non è un'opzione valida se ho a che fare con host di terze parti.
Quindi, questa pie-in-the-sky è un pio desiderio o può essere fatto?
mi sono imbattuto in [questo articolo] (http://www.thenerdary.net/post/20965499862/htaccess-environments), che non ho ancora provato ma sembra promettente. – kgrote