Come distribuire Symfony2 su un hosting condiviso?

Voglio accedere al mio symfony app in produzione env (http://www.sample.com/amateur1/web/app.php) da questo url http://www.sample.com/amateur1.

Per fare questo ho spostato il .htacces file http://www.sample.com/amateur1/.htaccess con questo contenuto:

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteBase /web/

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>

Ma quando vado a http://www.sample.com/amateur1 mostra un Errore 404, e prod.registro non è scritto.

Ho usato anche RewriteBase /amateur1/web/ perché non so Se RewriteBase percorso è relativo al DocumentRoot del server, O dal percorso in cui il .htaccess file si trova. Provato anche /amateur1 e /amateur1/ come RewriteBase a causa di questa risposta Symfony2: Come distribuire in sottodirectory (Apache)

Con la tre è cercare, Le Eccezioni, viene visualizzata la pagina senza stile, e non caricare qualsiasi immagine. Ma poi ottengo il seguente errore in prod.file di log:

[2013-02-15 02:06:47] request.ERROR: Symfony\Component\HttpKernel\Exception\NotFoundHttpException: No route found for "GET /amateur1/" (uncaught exception) at /home/u105859802/public_html/amateur1/app/cache/prod/classes.php line 5121 [] []

Cosa sto facendo di sbagliato ?

  • Hai controllato config.php? Esso mostra mancanti dei requisiti
InformationsquelleAutor Jeflopo | 2013-02-15



2 Replies
  1. 24

    Nella configurazione di apache utilizza public_html come documento principale

    Se Symfony2 è installato nella directory /home/u105859802/public_html/amateur1, Symfony pubblico directory è /home/u105859802/public_html/amateur1/web/

    Si dovrebbe usare

    RewriteBase /amateur1/web/

    Ma attenzione, non è sicuro

    È necessario proteggere il vostro symfony! (la configurazione è accessibile)

    Perché non provare a spostare i file di symfony nella tua area privata ?

    È possibile rinominare il Symfony web directory public_html

    Vedere come farlo in documentazione ricettario

    Così, la mia raccomandazione struttura si presenta come di seguito :

    • /home/u105859802/
      • fornitore
      • src
      • app
      • bin
      • public_html (web per impostazione predefinita in symfony2) <- il solo pubblico directory
    • Vuoi dire di spostare la mia sf dir di /home/u105859802/amateur1/ essere un fratello (fratello) di /home/u105859802/public_html/ E la messa in /public_html/ dir il contenuto del mio /web/ cartella. Quindi public_html/.htaccess file dovrebbe reindirizzare tutto per app senza RewriteBase o di essere semplicemente RewriteBase / giusto ? in questo modo RewriteRule ^(.*)$ app.php [QSA,L].
    • Io non posso provare ora, fammi provare prima di accettare la risposta. Grazie per queste utili info !
    • Funzionato come un fascino !!! TY
  2. 0

    In più di hosting condiviso, non è possibile ignorare le impostazioni di Apache in questo caso può essere necessario wright una regola di reindirizzamento in .il file htaccess

    Options +FollowSymLinks +ExecCGI
    
    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com$ [NC]
    RewriteRule !^projectName//projectName/web/app.php/%{REQUEST_URI} [L,NC]

    questa è la regola che ho usato nel mio progetto .
    Potrebbe essere necessario fornire il percorso completo per la tua attività in altri modi che non verrà caricato .

Lascia un commento