生产中 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 的异化是怎样的,它应该可以工作。
我是 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 的异化是怎样的,它应该可以工作。