路线后添加斜线/时样式消失

时间:2020-10-10 21:21:44

标签: php laravel

我正在使用laravel 8

当我为管理员创建路由时

$discounted_amount = 300 - (300 * (10.5 / 100)); // will produce 268.5

,然后尝试显示管理页面 如果我输入以下路线:100,在管理员后没有斜线,我会看到页面运行正常

enter image description here

但是当我在admin之后添加斜杠时:Route::group(['prefix' => 'admin'], function () { Route::get('/', function () { return view('layouts.adminlayout'); }); }); 页面显示没有样式

enter image description here

2 个答案:

答案 0 :(得分:2)

您在链接中使用了相对路径

<link rel="stylesheet" href="css/something.css">

相对路径通过以下方式计算:

  1. 获取文档的基本URL(通常是文档的URL)
  2. 删除路径中最后一个/之后的所有内容
  3. 附加相对路径

因此,您的两个URL给出以下结果:

/admin

  1. http:// localhost:8000 / admin
  2. http:// localhost:8000 /
  3. http:// localhost:8000 / css / something.css

/admin/

  1. http:// localhost:8000 / admin /
  2. http:// localhost:8000 / admin /
  3. http:// localhost:8000 / admin / css / something.css

http://localhost:8000/css/something.csshttp://localhost:8000/admin/css/something.css不同的 URL,其中之一将引发404 Not Found错误响应。


改为使用绝对路径

<link rel="stylesheet" href="/css/something.css">

绝对路径的计算方法是:

  1. 获取文档的基本URL
  2. 删除主机名和(可选)端口号之后的所有内容
  3. 添加绝对路径

...,因此您为每个基本URL都得到相同的结果。

答案 1 :(得分:-1)

我找到了解决方法

使用:<link href="{{asset('style.css')}}" rel="stylesheet">

代替:<link href="style.css" rel="stylesheet">

感谢@Quentin