如何在共享主机的子文件夹中安装laravel app?

时间:2016-12-31 11:08:32

标签: php apache .htaccess laravel mod-rewrite

我在我的共享主机“public_html”的根目录中安装laravel应用程序现在我想在ru /子文件夹中安装此应用程序的俄语版本,但是当我转到example.com/ru时,我发现404页面找不到错误。我使用apache web服务器根文件夹中的.htaccess文件包含这些代码

<IfModule mod_rewrite.c>
   RewriteEngine On 
   RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

我该如何更改此配置?

感谢。

1 个答案:

答案 0 :(得分:3)

您将按照在根目录中安装它的方式执行此操作。 我将告诉你我如何在我的共享主机帐户,主域和子域上安装它。 在我将所有项目上传到子文件夹后,您将example.com/ru,请执行以下操作:

  1. 在公共文件夹中有.htaccess个文件。由于您基本上将其作为子域,因此需要位于该子域的根目录中,因此将.htaccess从公用文件夹转移到ru文件夹的根目录。
  2. 打开.htaccess并更改/添加以下内容:

    DirectoryIndex public / index.php

  3. 并在RewriteRule中将其更改为:

    public/index.php
    

    为了清楚起见,您的.htaccess在更改结束后应该是这样的:

    DirectoryIndex public/index.php
    <IfModule mod_rewrite.c>
        <IfModule mod_negotiation.c>
            Options -MultiViews
        </IfModule>
    
        RewriteEngine On
    
        # Redirect Trailing Slashes If Not A Folder...
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)/$ /$1 [L,R=301]
    
        # Handle Front Controller...
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^ public/index.php [L]
    
        # Handle Authorization Header
        RewriteCond %{HTTP:Authorization} .
        RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    </IfModule>
    

    这应该适合你。