Symfony Ошибка 403

dredder

Кэп
Приветствую!
Столкнулся с проблемой. Установил Symfony 2 через Composer. В качестве сервера использую Apache 2.4. Прописал в httpd-vhost.conf новый хост:
Код:
<VirtualHost *:80>
    DocumentRoot "C:/USR/www/joboard.local"
    ServerName joboard.local
    ErrorLog "C:/USR/log/joboard.local/error.log"
    CustomLog "C:/USR/log/joboard.local/access.log" common
    # Other directives here
</VirtualHost>
Прописал в hosts
Код:
127.0.0.1 joboard.local
Перехожу по ссылке http://joboard.local/, а он выдаёт

Forbidden
You don't have permission to access / on this server.​

В логах сервера вот такая строка
Код:
127.0.0.1 - - [05/Sep/2016:20:01:56 +0800] "GET / HTTP/1.1" 403 209
В ...\www\joboard.local\web\.htaccess прописан вот такой код
Код:
DirectoryIndex app.php

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
    RewriteRule ^(.*) - [E=BASE:%1]

    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L]

    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule .? - [L]

    RewriteRule .? %{ENV:BASE}/app.php [L]
</IfModule>

<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>
        RedirectMatch 302 ^/$ /app.php/
    </IfModule>
</IfModule>
В логах Symfony ничего нет. Подскажите в чём проблема?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Проблема в правах доступа к файловой системе, а именно к файлам сайта.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
@dredder, я наивно предположил, что у тебя там линуксовая машинка, это так? Либо ты указал неверно в конфиге путь к index.php.

В одном месте у тебя .\www\joboard.local\web, а в другом .\www\joboard.local, DocumentRoot проверь.
 

Breeze

goshogun
Команда форума
Партнер клуба
у апача 2.4 есть такая модная штука как Require all granted, которую нужно применить к директории с сайтом, если этого не сделано.
 

dredder

Кэп
Пока сделал так.
Переписал в httpd-vhost.conf для хоста вот так (взято из официальной документации Symfony):
Код:
<VirtualHost *:80 >
    ServerName joboard.local
    ServerAlias joboard.local

    DocumentRoot "C:/USR/www/joboard.local/web"
    <Directory C:/USR/www/joboard.local/web>
        AllowOverride None
        Order Allow,Deny
        Allow from All

        <IfModule mod_rewrite.c>
            Options -MultiViews
            RewriteEngine On
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*)$ app.php [QSA,L]
        </IfModule>
    </Directory>

    <Directory C:/USR/www/joboard.local/project>
        Options FollowSymlinks
    </Directory>

    <Directory /var/www/project/web/bundles>
        <IfModule mod_rewrite.c>
            RewriteEngine Off
        </IfModule>
    </Directory>

    ErrorLog "C:/USR/log/joboard.local/error.log"
    CustomLog "C:/USR/log/joboard.local/access.log" common
</VirtualHost>
Выполнил команду: php bin/console cache:clear --env PROD.
Потом перезагрузил страницу и у меня выдало:
Oops! An Error Occurred
The server returned a "404 Not Found".

Вот что написано в логах Symfony (prod.log):
[2016-09-05 23:50:23] request.ERROR: Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "No route found for "GET /"" at C:\USR\www\joboard.local\app\cache\prod\classes.php line 1985 {"exception":"[object] (Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException(code: 0): No route found for \"GET /\" at C:\\USR\\www\\joboard.local\\app\\cache\\prod\\classes.php:1985, Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException(code: 0): at C:\\USR\\www\\joboard.local\\app\\cache\\prod\\appPRODUrlMatcher.php:35)"} []

А в логах Apache:
127.0.0.1 - - [05/Sep/2016:23:50:23 +0800] "GET / HTTP/1.1" 404 471
 
Последнее редактирование:

dredder

Кэп
Может так происходит потому что я не поставил демо бандл AcmeDemoBundle?
 

dredder

Кэп
@dredder, я наивно предположил, что у тебя там линуксовая машинка, это так? Либо ты указал неверно в конфиге путь к index.php.

В одном месте у тебя .\www\joboard.local\web, а в другом .\www\joboard.local, DocumentRoot проверь.
Нет, Windows 10


я бы на всякий случай писал prod маленькими буквами
Не помогло :eek:
 

dredder

Кэп
@dredder, странно, правда?

DirectoryIndex погляди
Спасибо :) Раньше уже ставил DirectoryIndex, но я поставил app.php, заменил на app_dev.php и у меня приложение хоть и с ошибкой (An error uccured while loading the web debug toolbar (404: Not found)), но начало запускаться по прямой ссылке. Когда запускаю по ссылке http://joboard.local/app_dev.php, у меня всё нормально работает (впрочем как и раньше)

Тут проблема в том, что запущен дебаг режим. А для обычного app.php панели отладки нет, поэтому он и выдаёт эту ошибку. Но тогда почему запускается app.php, если в DirectoryIndex стоит app_dev.php. С этим я ещё не разобрался
 

AnrDaemon

Продвинутый новичок
Сервер полностью перезагружай. По ходу, у тебя конфиги в десинке.
 
Сверху