【问题标题】:How to change path in the laravel config if It's located in the folder upper then public?如果 laravel 配置中的路径位于公共文件夹上方,如何更改路径?
【发布时间】:2017-05-28 23:10:42
【问题描述】:

我在配置文件夹中有 laravel 5 和配置文件,我的 css 位于资源文件夹中,与位于 index.php 的公用文件夹处于同一级别。虚拟主机 Apache 配置将公共文件夹视为站点根目录,但在这种情况下,我无法声明从 /public/index.php 到资源文件夹的正确路径。

从一方面我可以尝试简单的方法,只需将公用文件夹重新定位到 laravel 的根目录,但我不喜欢这种方式,有什么想法吗?

【问题讨论】:

  • 与 Nix 包管理器有什么关系?为什么在你的标签里?
  • 哦,对不起,我没有看那个标签的描述,我以为这只是关于 nix 操作系统,而不是包管理器:)

标签: apache laravel php-5.6 virtual-hosts


【解决方案1】:

使用resource_path('path/to/your/css')

https://laravel.com/docs/5.3/helpers#method-resource-path

编辑

不过,最合乎逻辑的做法是将样式表包含在公用文件夹中。如果您需要设置页面样式,则样式无论如何都是公开的。那么为什么不放在公用文件夹中。有两种选择:

  1. 手动复制/移动文件
  2. 使用像 Gulp 或 Laravel 自己的 Elixir 这样的自动化工具,它提供了一种非常简单的方法来复制您的资产。

【讨论】:

  • 没问题!请标记为答案,以便其他人受益:)
  • 文件仍未公开。如果公共目录中没有样式,您将无法在视图中加载样式。资源文件夹背后的想法是,您在那里有可编辑的 CSS/SASS/JS 文件,然后使用 gulp 脚本将其编译成单个缩小文件。
  • 更新了我的答案
【解决方案2】:

在 public/index.php 中添加这段代码

$app->bind('path.public', function() {
     return __DIR__;
});

【讨论】:

    猜你喜欢
    • 2018-10-19
    • 2017-10-28
    • 1970-01-01
    • 1970-01-01
    • 2015-08-22
    • 2020-11-15
    • 1970-01-01
    • 2013-06-05
    • 2017-11-11
    相关资源
    最近更新 更多