Symfony 3,域名显示目录结构

时间:2017-09-22 13:50:11

标签: php apache symfony configuration

我知道这个问题很多,但我读了所有与此相关的问题,但他们没有解决我的问题。

我刚刚部署了一个Symfony 3网络应用程序,我跟着Symfony server configuration documentation,发现www.domain.com显示了目录结构!

以下是我使用文件/etc/apache2/sites-available/site.com.conf的配置:

<VirtualHost *:80>
ServerName domain.tld
ServerAlias www.domain.tld

DocumentRoot /var/www/project/web
<Directory /var/www/project/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>


ErrorLog /var/log/apache2/project_error.log
CustomLog /var/log/apache2/project_access.log combined

当我访问www.domain.com/web和www.domain.com/web/app.php时,我可以看到该应用

我希望能够访问www.domain.com并查看该应用程序。

2 个答案:

答案 0 :(得分:0)

更改行:

AllowOverride None

到下一个:

AllowOverride All

删除部分<IfModule mod_rewrite.c>并使用标准Symfony的.htaccess文件。

此外,您需要将PHP设置为apache的模块。确保加载PHP模块的http.conf中有未注释的行:

LoadModule php7_module libexec/apache2/libphp7.so

答案 1 :(得分:0)

您错过了目录标记中包含的DirectoryIndex app.phpDirectoryIndex dev_app.php。如果没有请求文件,这将导致apache加载app.php。 https://httpd.apache.org/docs/2.0/mod/mod_dir.html

<Directory /var/www/project/web>
    DirectoryIndex app.php
    ...
</Directory>

还要确保启用了mod重写。 a2enmod rewrite 你可能不得不使用sudo。

最后一点说明:         Options -MultiViews应该<Directory>包含在mod_rewrite内以供所有时间使用,而不仅仅是{{1}}启用时。