OVH 共享主机上的 symfony url /web issue in production.



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

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

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

和我的htaccess文件:

<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
<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}/$1 [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之间放置一个符号链接。

ln -s website/web www

如果我没记错的话,它应该可以工作 OVH 的突变。