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

时间:2015-09-01 12:24:06

标签: apache .htaccess symfony capifony

我正在symfony2框架之上构建一个Web应用程序。一切都习以为常,直到由于一些问题,我不得不擦除生产symfony文件夹清理并重新安装symfony项目文件夹中的所有内容。 现在,对服务器的每个请求都返回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}::$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>

修改

来自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>

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

1 个答案:

答案 0 :(得分:0)

所以,我弄清楚出了什么问题:

Options FollowSymLinks未在/var/www/SymfonyRoot/current/web文件夹中启用。

刚刚将Options FollowSymLinks添加到.htaccess文件中,一切都像魅力一样!