【问题标题】:url and paths helpers on laravel when document root has changed当文档根目录更改时,laravel 上的 url 和路径助手
【发布时间】:2019-05-10 15:56:07
【问题描述】:

我开始使用 laravel 框架 (v5.7)。我最近更改了我的文档根目录和虚拟主机,如下所示(目的只是不在 url 上显示“public”):

文档根目录:

DocumentRoot "${INSTALL_DIR}/www/laravel/public"
<Directory "${INSTALL_DIR}/www/laravel/public/">
    Options +Indexes +FollowSymLinks +Multiviews
    AllowOverride all
    Require local
</Directory>

虚拟主机:

<VirtualHost *:80>
  ServerName localhost
  ServerAlias localhost
  DocumentRoot "${INSTALL_DIR}/www/laravel/public"
  <Directory "${INSTALL_DIR}/www/laravel/public/">
    Options +Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride All
    Require local
  </Directory>
</VirtualHost>

完成后,我的 css 和 js 文件没有指向正确的位置(正常,我想)。我查看了 laravel 文档,但我开始对在我的项目中为 css 和 js 文件生成 url 的正确方法感到困惑。

Laravel 有不同的助手来生成 url(例如 url() 和 assets())和其他指向文件夹的助手(base_path()、public_path()、resource_path())。

我也在谷歌上搜索过这个,我开始更加困惑,因为很多人使用资产助手来生成位于公共文件夹(而不是资源文件夹)上的文件的 url。

我的问题如下:

  1. 如果我的 css 和 js 文件位于公共文件夹(public/js 和公共 css)中,这是在文档根文件夹和虚拟主机更改文件夹以查看后生成这些 url 的正确方法在?

  2. 我应该使用asset helper还是url helper来生成它们?

  3. 我可以使用助手的组合来完成吗? 例如:url(public_path('css/style.css'))

PD:我的“自己的助手”为您服务: 在这两种情况下,asset() 和 url() 打印相同:

【问题讨论】:

    标签: php laravel url assets


    【解决方案1】:

    看起来像

    asset('css/style.css')
    

    是正确的做法。

    【讨论】:

      猜你喜欢
      • 2015-02-27
      • 2019-02-20
      • 2017-08-31
      • 2017-06-25
      • 1970-01-01
      • 2015-08-22
      • 1970-01-01
      • 2018-05-31
      • 2014-04-14
      相关资源
      最近更新 更多