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.

Другие вопросы по тегам