【问题标题】:Laravel on shared hostingLaravel 共享主机
【发布时间】:2018-06-21 18:24:11
【问题描述】:

我已经有一个域和一个主机。

我希望http://example.com/ 已经可以访问该程序。

目前,我只能使用这个访问程序 http://example.com/project/public

我的当前目录是这个

public_html

项目

公开

我的 htaccess

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # 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]

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

我的 index.php

require __DIR__.'/../vendor/autoload.php';


$app = require_once __DIR__.'/../bootstrap/app.php';

【问题讨论】:

  • 如果对您有帮助,请接受我的回答。

标签: php laravel .htaccess shared-hosting


【解决方案1】:

您在共享主机上,因此您可能无法编辑 apache 配置文件来更改文档根目录。

所以试试这个。

将您的 laravel 项目上传到与public_html 相同的级别(即不在内部 public_htmlpublic_htmlyour_project_dir 应该在同一级别)。

然后软链接public_html指向your_project/public

$ ln -s /absolute_path/your_project_dir/public  /absolute_path/public_html

它现在应该可以工作了。

【讨论】:

  • 您好,抱歉,这并没有解决我的问题。它创建了很多 /public 链接。仅解决我的问题的一个是我没有创建任何软链接。相反, /myproject 和 /public_html 是同一级别的,我将所有公共文件复制到 /public_html 并且它可以工作。但是,我在 git 存储库上有问题。由于 public_html 不是我的存储库的一部分,所以它根本不会更新。
  • 我建议您在 public_html 中创建另一个目录并将其链接到项目的公共目录。我猜没有创建指向 public_html 的链接,因为您无法链接现有的目录。按照我的建议,确保将文档根目录更改为`public_html/dir`
【解决方案2】:

共享主机的基本地址是:DIR.'/laravel/vendor/autoload.php 和:DIR.'/laravel/bootstrap/app.php';

将您的 index.php 放在 public_html 文件夹中。

【讨论】:

    猜你喜欢
    • 2023-03-31
    • 2018-10-21
    • 2015-04-12
    • 1970-01-01
    • 2020-01-16
    • 2019-01-28
    • 2016-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多