重新安装 symfony 2 后出现 403 禁止错误

403 Forbidden error after symfony 2 reinstall

我正在 symfony2 框架之上构建一个网络应用程序。过去一切正常,直到由于某些问题,我不得不清除生产 symfony 文件夹并重新安装 symfony 项目文件夹中的所有内容。 现在每次向服务器请求returns一个403,You don't have permission to access / on this server.

注意:服务器软件是 ubuntu 上的 apache2 运行。

我使用 capifony、运行、cap deploy:setupcap deploy 进行了部署。

任何 apache 配置文件或 symfony 项目根目录之外的任何内容均未更改。服务器根目录指向 symfonyRoot/current/web,该目录中的 .htaccess 文件如下所示:

DirectoryIndex app.php

<IfModule mod_rewrite.c>
    RewriteEngine On

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

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

    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/ [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>

编辑:

来自 apache2.conf 文件:

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

来自虚拟主机配置:

<Directory "/var/www/SymfonyRoot/current/web">
    Require all granted
    AllowOverride All
    Allow from All
    Options None
</Directory>

我确信这只是我忘记某处的一件简单的事情,但我无法弄清楚为什么服务器拒绝对任何路由的许可。

所以,我知道出了什么问题:

Options FollowSymLinks 没有为 /var/www/SymfonyRoot/current/web 文件夹打开。

刚刚将 Options FollowSymLinks 添加到 .htaccess 文件中,一切又恢复正常了!