Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: pmoniqОтветов: 3

У меня проблема с настройками 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.

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

phpapacheapache2symfony1

Ответы

Ответ 1 · рейтинг 2 · Raise

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

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

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

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

Ответ 2 · Colonel Sponsz

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

Ответ 3 · Benoit

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

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы