php symfony и apache2 - inst не обслуживает .phtml

У меня проблема с настройками apache2 (система Ubuntu). Я хотел бы запустить проект symfony на моем локальном хосте, но вместо того, чтобы обслуживать файлы .phtml, браузер пытается загрузить файлы.

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

это мой файл .host:

127.0.0.3 тест

это файл apache2 / sites-available / default

‹VirtualHost 127.0.0.3:80>
ServerName test DocumentRoot" / home / m / Pr / workspace / php / test / web "

DirectoryIndex frontend_dev.php

‹Каталог" / home / m / Pr / workspace / php / test / web ">

AllowOverride All

Allow from All   

Alias /sf

/ главная / м / пр / рабочая область / PHP / тест / библиотека / поставщик / Symfony / данные / веб / SF

‹Справочник

"/ home / m / Pr / workspace / php / test / lib / vendor / symfony / data / web / sf">

AllowOverride All

Allow from All   </Directory>

и это .htaccess в / test

RewriteEngine при RewriteRule ^ (. *) $

/ web / $ 1 Опции + FollowSymLinks

+ Приложение ExecCGI AddHandler / x-httpd-php5 .php .phtml

и это .htaccess в / test / web

Параметры + FollowSymLinks + ExecCGI


RewriteEngine On

# раскомментируйте следующую строку, если у вас возникли проблемы # получение no_script_name для работы RewriteBase /

# мы пропускаем все файлы с .something #RewriteCond% {REQUEST_URI} .. + $ #RewriteCond% {REQUEST_URI}! .html $
#RewriteRule. * - [L]

# проверяем наличие версии .html (кеширование) RewriteRule ^ $ index.html [QSA] RewriteRule ^ ([^.] +) $ $ 1.html [QSA] RewriteCond% {REQUEST_FILENAME}! -f

# нет, поэтому мы перенаправляем на наш фронтальный веб-контроллер RewriteRule ^ (. *) $ index.php [QSA, L]

Другая проблема - я думаю, что apache не читает файлы .htaccess.

Что я делаю неправильно? Может я о чем-то забыл? Пожалуйста, помогите мне, потому что я понятия не имею.


person pmoniq    schedule 17.03.2010    source источник


Ответы (3)


Вам нужно объявить директиву AddType в конфигурации Apache - я не уверен, что добавление ее в .htaccess сработает.

Добавьте эту строку в /etc/apache2/mods.enabled/php.conf или /etc/apache2/httpd.conf:

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

Перезапустите Apache и повторите попытку.

person Raise    schedule 17.03.2010

Проверьте заголовки Content-Type, которые сервер отправляет для файлов .phtml - скорее всего, браузер не распознает это.

person Colonel Sponsz    schedule 17.03.2010
comment
Спасибо за повтор, не могли бы вы рассказать подробнее о своем предложении? В источнике страницы у меня есть только это: ‹! DOCTYPE html PUBLIC - // W3C // DTD HTML 4.01 Transitional // EN› ‹html› ‹head› ‹title› ‹/title› ‹/head›body› ‹/ body ›‹/html› Но я думаю, Вы имеете в виду еще кое-что? - person pmoniq; 17.03.2010
comment
Вам нужно использовать Firebug (или аналогичный), чтобы проверить заголовок Content-Type, который сервер отправляет с запросом - это не отображается на странице. См. en.wikipedia.org/wiki/List_of_HTTP_headers#Responses и php.net/manual/en/function.header.php - person Colonel Sponsz; 17.03.2010

да, я не помню, чтобы Apache был готов к работе с файлами phtml из коробки.

Я думаю, вам нужно утверждать, что Content-Type определен как text / html, чтобы браузер отображал файл.

person Benoit    schedule 17.03.2010