如何在共享主机上定义Symfony根目录?

时间:2018-06-05 09:54:19

标签: .htaccess symfony configuration url-rewriting shared-hosting

是否有人在共享主机(Linux)上使用Symfony。 我在我的localhost上使用Symfony,它工作正常。 我还安装了Apache包。

当我想在网络服务器上打开网站时,我必须写www.mywebsite.com/public来查看我的网站。我尝试将此行DocumentRoot /var/www/project/public添加到.htaccess文件(该文件位于公用文件夹中),但这不会进行更改。不知道如何让它像localhost一样工作。服务器上的项目是localhost上项目的克隆。

我尝试将文档https://symfony.com/doc/current/setup/web_server_configuration.html中的代码复制到我的.htaccess文件中,但这不起作用。

我还尝试将.htaccess文件从公用文件夹移动到根目录中。但后来我收到一条警告信息,我应该联系管理员。

这是我的.htaccess文件:

DirectoryIndex index.php

<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 ^index\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]

    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^ - [L]

    RewriteRule ^ %{ENV:BASE}/index.php [L]
</IfModule>

<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>
        RedirectMatch 307 ^/$ /index.php/
    </IfModule>
</IfModule>

0 个答案:

没有答案