服务器中laravel项目中的子目录

服务器中laravel项目中的子目录,laravel,Laravel,我已经创建了一个laravel项目,并像 我把所有的文件都上传到了“健康卡”的子目录中。现在我已经在公用文件夹中进行了更改 将所有文件从公用文件夹移到“healthcard”文件夹 将索引文件更改为 需要DIR'/bootstrap/autoload.php'; $app=require_onceDIR'/bootstrap/app.php' 在此之后,我向root添加了一个.htaccess文件 <IfModule mod_rewrite.c> RewriteEngine

我已经创建了一个laravel项目,并像

我把所有的文件都上传到了“健康卡”的子目录中。现在我已经在公用文件夹中进行了更改

  • 将所有文件从公用文件夹移到“healthcard”文件夹

  • 将索引文件更改为

    需要DIR'/bootstrap/autoload.php'; $app=require_onceDIR'/bootstrap/app.php'

  • 在此之后,我向root添加了一个.htaccess文件

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

    但它仍然不起作用。我应该做其他的改变吗。请让我知道。提前感谢您的帮助。

    对于类似的项目,我将此作为根目录。htaccess:

    <IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{REQUEST_URI} !^public
        RewriteRule ^(.*)$ public/$1 [L]
    </IfModule>
    
    
    重新启动发动机
    重写cond%{REQUEST_URI}^公众的
    重写规则^(.*)$public/$1[L]
    
    并将其保存在公用文件夹中:

    <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 ^ index.php [L]
    
        # Handle Authorization Header
        RewriteCond %{HTTP:Authorization} .
        RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    </IfModule>
    
    
    选项-多视图
    重新启动发动机
    #如果不是文件夹,则重定向尾部斜杠。。。
    重写cond%{REQUEST_FILENAME}-D
    重写规则^(.*)/$/$1[L,R=301]
    #处理前控制器。。。
    重写cond%{REQUEST_FILENAME}-D
    重写cond%{REQUEST_FILENAME}-F
    重写规则^index.php[L]
    #句柄授权头
    RewriteCond%{HTTP:Authorization}。
    重写规则。*-[E=HTTP\U授权:%{HTTP:AUTHORIZATION}]
    
    这是我从别处得到的复制粘贴,所以我不能给你更多的细节,但值得一试


    另外:尝试将index.php恢复到原来的状态,并将其放回公用文件夹(实际上,将从公用文件夹移出的所有文件放回原处)。

    请按顺序执行以下操作

  • 提取文件夹中名为
    local
    的所有文件,该文件夹位于
    public\u html

  • public
    文件夹中的文件移动到
    local
    文件夹旁边的
    public\u html

  • 打开
    index.php
    文件

  • 更改此行:

    require __DIR__.'/../vendor/autoload.php';
    
    为此:

    require __DIR__.'/local/vendor/autoload.php';
    
    这一点也一样:

    $app = require_once __DIR__.'/../bootstrap/app.php';
    
    更改为:

    $app = require_once __DIR__.'/local/bootstrap/app.php';
    
  • 打开
    .env
    文件并设置数据库信息
  • 请务必检查下面的文件,因为在提取其内容时,它有时会发生更改。因此,用这些代码替换其内容
  • 
    选项-多视图-索引
    重新启动发动机
    #句柄授权头
    RewriteCond%{HTTP:Authorization}。
    重写规则。*-[E=HTTP\U授权:%{HTTP:AUTHORIZATION}]
    #如果不是文件夹,则重定向尾部斜杠。。。
    重写cond%{REQUEST_FILENAME}-D
    重写cond%{REQUEST_URI}(+)/$
    重写规则^1[L,R=301]
    #处理前控制器。。。
    重写cond%{REQUEST_FILENAME}-D
    重写cond%{REQUEST_FILENAME}-F
    重写规则^index.php[L]
    
  • 检查服务器或共享主机上安装的php版本,该版本必须符合laravel要求的版本

  • 这绝对不是一个简单的配置。只是一个问题:你不能让它成为子域吗?比如healthcard.mydemosite.org?这通常比较容易。如果Elsware是另一个网站,那么最好有一个链接:)来自我公司的一个预先存在的项目,恐怕@RobBiermann@Ranjit尝试将index.php恢复到原来的状态,并将其放回公用文件夹(实际上,将移出公用文件夹的所有文件放回原处。)是,我也这样做了,但仍然不起作用。这是我的想法,对不起。
    $app = require_once __DIR__.'/../bootstrap/app.php';
    
    $app = require_once __DIR__.'/local/bootstrap/app.php';
    
    DB_DATABASE=YOUR_DB_NAME
    DB_USERNAME=YOUR_DB_USERNAME
    DB_PASSWORD=YOUR_DB_PASS
    
        <IfModule mod_rewrite.c>
            <IfModule mod_negotiation.c>
                Options -MultiViews -Indexes
            </IfModule>
    
            RewriteEngine On
    
            # Handle Authorization Header
            RewriteCond %{HTTP:Authorization} .
            RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    
            # Redirect Trailing Slashes If Not A Folder...
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteCond %{REQUEST_URI} (.+)/$
            RewriteRule ^ %1 [L,R=301]
    
            # Handle Front Controller...
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^ index.php [L]
        </IfModule>