生产中 OVH 共享主机的 symfony url /web 问题

symfony url /web issue on OVH shared hosting in production

我是 Symfony 的新手(目前使用 Symfony 3.2),我正在尝试将 Symfony 应用程序部署到共享主机 OVH 的生产环境中。一切正常,除了一件事,网站正在使用 url www.mydomain.com/web 而不是 www.mydomain.com,没有 /web 页面显示索引 / 我不知道如何解决这个问题。 我应该怎么做才能使它正常工作?

我的网站的托管目录如下所示:

   /
     www.firstDomain.com
     www.secondDomain.com
     ...

和我的 htaccess 文件:

<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

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

不要把symfony直接放在www/目录下,而是放在同级,然后直接去掉www/

rm -rf www/ # be careful to save what's init before doing this.

然后你必须在 web 和 www 之间放置一个符号 link。

ln -s website/web www

如果我没有记错 OVH 的异化是怎样的,它应该可以工作。