【问题标题】:Laravel routing and route parametersLaravel 路由和路由参数
【发布时间】:2016-03-05 08:43:17
【问题描述】:

我在 route.php 文件中定义了如下路由:

Route::get('{test1}/{test2}/{test3}', function($test1, $test2, $test3) {
    $result = [$test1, $test2, $test3];
    return view('view', compact('result'));
});

当我在浏览器中看到它时,它在我的控制器中运行良好,但在视图部分,当我在浏览器中编写类似这样的内容时:

http://localhost/mysitefolder/public/test1/test2/test3

它会加载视图并传递所有数据,但它会从如下网址获取我的所有资产,例如样式表、图像和脚本:

http://localhost/mysitefolder/public/test1/test2/js/jquery.js

为什么会这样?
提前致谢!

【问题讨论】:

  • 我可以看看你是如何在你的视图刀片文件中生成链接的,你在使用url() 你的网络服务器是什么? apache 或 nginx
  • 我的网络服务器是 apache,令人震惊的是我只是对它们进行了硬编码,我没有为此使用任何 laravel 辅助函数:)

标签: php laravel routes assets


【解决方案1】:

两种解决方案要么在 URL 的开头使用 /,以便不使用相对寻址,要么使用 laravel 的辅助函数 {{ asset('/js/script.js') }}

当您的 url 开头不使用“/”时,它将被视为相对地址,并在其开头添加当前位置。

如果您的应用程序未在根级别上提供服务,有时甚至“/”都无法工作。例如,您的应用程序位于 http://localhost/yourapplication,然后 / 将引用您的本地主机而不是应用程序,这就是为什么最好的方法是使用 laravel 的辅助函数。

【讨论】:

猜你喜欢
  • 2021-02-04
  • 2018-04-05
  • 1970-01-01
  • 1970-01-01
  • 2013-11-24
  • 2017-10-25
  • 1970-01-01
  • 1970-01-01
  • 2014-07-21
相关资源
最近更新 更多