Symfony URL / веб-проблема на OVH общего хостинга в производстве
Я новичок в 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}::$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>
1 ответ
Решение
Вы не должны помещать Symfony непосредственно в каталог www/, а на том же уровне, а затем удалять www/ напрямую
rm -rf www/ # be careful to save what's init before doing this.
Затем вы должны поместить символическую ссылку между веб и www.
ln -s website/web www
Это должно работать, если я правильно помню, как мутация OVH.