Questa è una domanda su Apache che probabilmente hai già incontrato. Voglio avere un pacchetto sorgente che posso distribuire sulla mia workstation, sul mio server di staging e sul mio server di produzione, ma per caricare diverse impostazioni .htaccess in base all'URL.Come posso avere un blocco .htaccess condizionale?
Nota che stavo usando un kludge con una chiamata IfModule, ma che non funzionerà con il nostro nuovo server di produzione perché condivide tutti gli stessi moduli del mio server di staging.
Nota Ho bisogno di raggruppare SetEnv con queste riscritture. Attualmente se usi RewriteCond, si lega solo alla seguente RewriteRule, ma non al SetEnv sottostante.
Va notato che la direttiva php_value in Apache non può essere chiamata nel primo esempio: solo le variabili di ambiente. Nel secondo esempio, questa è la scelta migliore perché puoi letteralmente definire il tuo server. Tuttavia, questo funziona solo se controlli l'ambiente. Se si è su un host condiviso, non è possibile controllare il passaggio di un parametro al processo httpd. Pertanto, si cerca inverso di questo con. –
Ho scoperto che posso usare IfDefine perché il mio server prod è controllato al 100% da me e posso pasticciare con il parametro/etc/sysconfig/httpd OPTION e renderlo OPTIONS = "- D prod". Sul server di staging, che è condiviso, ho dovuto usare IfDefine! Prod e quindi impilare un IfModule expires_module sotto di esso. Sulla mia workstation, ho dovuto usare IfDefine! Prod seguito da IfModule! Expires_module. Questo mi ha dato un file .htaccess che funzionava in dev, staging/test e produzione. –
Un po 'di confusione, mi ha fatto pensare che semplici variabili ambientali potevano essere usate su ifdefine – Dan