ItalianoEnglishFrançaisEspañolDeutsch日本語中文(简体)中文(漢字)

Symfony su shared host: custom web root con htaccess

Anno 2009

symfony

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!

 
2000 - 2012 All Right Reserved | I contenuti sono di esclusiva proprietà di ideama snc. E' vietata la riproduzione anche parziale. ideama snc P.I. 01415820479