Symfony su shared host: custom web root con htaccess
Anno 2009
Categoria realizzazione siti internet Blog

Certamente vi sarà capitato di dover hostare il vostro progetto symfony su shared host, di cui non avete il controllo via ssh… dove quello che avete è un account ftp easy! Come possiamo creare una custom web root? Come posso, cioè, passare dalla cartella web di symfony, alla root del sito ??
1. modifica il file .HTACCESS
Certo, la prima cosa che viene in mente è l’htaccess, cosa scontata, ma non sufficente… “basta” un piccolo accorgimento… scovato nei meandri del forum di symfony… e il gioco è fatto:
prima cosa modificamo l’ htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
# we skip all files in /web
RewriteCond %{REQUEST_URI} ^/web/
RewriteRule .* - [L]
# we rewrite all other files with .something to /web
RewriteCond %{REQUEST_URI} \..+$
RewriteCond %{REQUEST_URI} !\.html$
RewriteRule ^(.*)$ /web/$1 [L]
# we check if the .html version is in /web (caching)
RewriteRule ^$ /web/index.html [QSA]
RewriteRule ^([^.]+)$ /web/$1.html [QSA]
#####################################################
RewriteRule ^(.*)$ /web/index.php [QSA,L]
</IfModule>
2. un ritocchino anche a index.php
seconda cosa… e qui c’è la finezza… modifichiamo la pagina index.php nella cartella web, aggiungendo questa riga:
$_SERVER['SCRIPT_NAME'] = '/index.php';
Et voilà… il vostro redirect funzionerà alla perfezione…
Buon lavoro con symfony!








