2015-03-11 13 views
6

Ho impostato un'applicazione e caricato i file utilizzando beanstalk elastico. I file vengono salvati in un bucket S3 con un'istanza EC2 in esecuzione.Rimuovere l'estensione di file ".php" quando si utilizza S3/EC2

Il problema è che è possibile accedere ai file del sito solo quando si aggiunge manualmente l'estensione ".php".

Ho creato l'applicazione utilizzando un file .htaccess per rimuovere l'estensione del file, quindi i miei reindirizzamenti e funzioni utilizzerebbero file senza la fine, ad es. "/ index" invece di "/index.php".

Perché .htaccess non è un'opzione che utilizza i bucket S3 esiste un modo alternativo facile di rimuovere le estensioni di file? (quindi i file "/index.php" sono letti come "/ index", quindi tutte le funzioni/reindirizzamenti funzionano bene).

risposta

0

È possibile utilizzare mod_rewrite per ottenere ciò. Ad esempio, questa regola reindirizza all'indice quando il file non è stato trovato nella directory corrente. Ad esempio, se si accede/utenti, e dal momento che non è un file. La richiesta sarà foward per index.php. In index.php puoi elaborare l'URL usando $ _SERVER [REQUEST_URI] e richiedi il file giusto.

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ index.php [QSA,L] 
</IfModule> 
Problemi correlati