2012-01-09 4 views
1

Я настроил мой /etc/apache/httpd.conf как сказал в getting started учебнике:Symfony ошибка конфигурации Apache, контроллер не вызывался

# Be sure to only have this line once in your configuration 
NameVirtualHost 127.0.0.1:8080 

# This is the configuration for your project 
Listen 127.0.0.1:8080 

<VirtualHost 127.0.0.1:8080> 
    DocumentRoot "/var/www/innobo/web" 
    DirectoryIndex index.php 
    <Directory "/var/www/innobo/web"> 
    AllowOverride All 
    Allow from All 
    </Directory> 

    Alias /sf /var/www/symfony/data/web/sf 
    <Directory "/var/www/symfony/data/web/sf"> 
    AllowOverride All 
    Allow from All 
    </Directory> 
Alias /uploads /var/www/innobo/web/uploads 
    <Directory "/var/www/innobo/web/uploads"> 
    AllowOverride All 
    Allow from All 
    </Directory> 
</VirtualHost> 

Я открываю localhost:8080 в веб-браузере, она работает нормально. но когда я пытаюсь открыть что-нибудь еще, как localhost:8080/poster, он бросает 404. И это не 404, перенаправленный symfony, это по умолчанию, сгенерированный apache! Это означает, что apache не отправляет запрос моему контроллеру, то есть /var/www/innobo/web/index.php. Я пробовал то же самое на другом компьютере, он работает нормально. там запрос достигает контроллера, и все работает так, как ожидалось. Где может быть ошибка?

ответ

0

Если приложение app.php/poster работает, это может зависеть от настройки в settings.yml (предполагаешь, что вы работаете с безопасным режимом в стороне серверной):

prod: 
    .settings: 
    no_script_name:   false 

Если это проблема, вы должны изменить к true: параметру no_script_name.

Я надеюсь, что это может вам помочь.

0

Похоже, что mod_rewrite не включен/работает. try localhost:8080/app.php/poster

Вы также должны запустить скрипт проверки symfony. По умолчанию вы можете найти его /web/config.php, чтобы вы могли получить к нему доступ, разместив в своем браузере localhost:8080/config.php.

+0

Да, app.php/poster работает Я попробую сценарий конфигурации – prongs

+1

, тогда это определенно mod_rewrite. Посмотрите, как установить/включить его для любого используемого вами сервера. – MrGlass

Смежные вопросы