2010-03-17 7 views
0

J'ai un problème avec les paramètres apache2 (système Ubuntu). Je voudrais exécuter le projet symfony sur mon localhost mais au lieu de servir les fichiers .phtml, le navigateur essaie de télécharger des fichiers.php symfony et apache2 - ne pas servir .phtml

alt text http://www.freeimagehosting.net/uploads/ba9be708fc.gif

c'est mon fichier .host:

127.0.0.3 Test

ce apache2/sites disponibles/fichier par défaut

< VirtualHost 127.0.0.3:80>
ServerName Test DocumentRoot "/ home/m/Pr/Espace de travail/php/test/web"

DirectoryIndex frontend_dev.php

< Répertoire «/home/m/Pr/Espace de travail/php/test/web ">

AllowOverride All 

Allow from All 

Alias ​​/ sf

/home/m/Pr/espace de travail/php/test/lib/vendor/s ymfony/data/web/sf

< Répertoire

"/ home/m/Pr/Espace de travail/php/test/lib/vendor/symfony/data/web/sf">

AllowOverride All 

Allow from All </Directory> 

et c'est .htaccess dans/test

RewriteEngine On RewriteRule^(. *)

$

/web/1 $ options + FollowSymLinks

+ ExecCGI demande AddHandler/x-httpd-php5 .php .phtml

ce qui est .htaccess dans/test/web

options + FollowSymLinks + ExecCGI


RewriteEngine Sur

# décommenter le suivant l ine, si vous rencontrez des problèmes en # no_script_name travailler RewriteBase/

# nous sautons tous les fichiers avec .quelquechose #RewriteCond% {REQUEST_URI} .. + $ #RewriteCond% {REQUEST_URI}! .html
$ #RewriteRule. * - [L]

# nous vérifions si le.version HTML est ici (mise en cache) RewriteRule^ $ index.html [QSA] RewriteRule ^ ([^.] +) 1.html $ $ [QSA] RewriteCond% { REQUEST_FILENAME}! -f

#no , donc nous redirigeons à notre contrôleur de front RewriteRule^(. *) $ index.php [QSA, L]

Un autre problème est que je pense que apache ne lit pas les fichiers .htaccess.

Qu'est-ce que je fais de mal? Peut-être que j'ai oublié quelque chose? S'il vous plaît, aidez-moi parce que je n'ai aucune idée.

Répondre

2

Vous devez déclarer la directive AddType dans votre configuration Apache - je ne suis pas sûr que l'ajouter à .htaccess fonctionnera.

Ajoutez cette ligne soit /etc/apache2/mods.enabled/php.conf ou /etc/apache2/httpd.conf:

AddHandler application/x-httpd-php5 .php .phtml 

Redémarrez Apache et essayez de nouveau.

0

Vérifiez les en-têtes Content-Type que le serveur envoie pour les fichiers .phtml - il s'agit probablement de quelque chose que le navigateur ne reconnaît pas.

+0

Merci pour la relecture, pourriez-vous en dire plus sur votre suggestion? Dans la source de la page i ont seulement ceci: Mais je pense que vous avez autre chose à l'esprit? – pmoniq

+0

Vous devez utiliser Firebug (ou similaire) pour vérifier l'en-tête "Content-Type" que le serveur envoie avec la requête - ceci n'apparaît pas dans la page. Voir http://en.wikipedia.org/wiki/List_of_HTTP_headers#Responses et http://www.php.net/manual/fr/function.header.php –

0

oui Je ne me souviens pas qu'Apache soit prêt à traiter des fichiers phtml prêts à l'emploi.

Je pense que vous devez affirmer Content-Type est défini à text/html pour que le navigateur rende le fichier.

Questions connexes