Laravel从本地存储渲染站点

44u64gxh  于 2023-11-20  发布在  其他
关注(0)|答案(1)|浏览(129)

通过zip压缩包,用户可以将网站上传到我的磁盘上。然后我将其解压缩并将其放在私人存储中。
在所有这些操作之后,它具有以下结构


的数据
登陆文件夹是用户上传的网站本身。
这是我用来渲染这个网站的方法:

Route::get('/{site}', function ($site) {
  View::addLocation(storage_path('app/' . $site));
  return view('index', ['param1' => 'test param']);
});

字符串
我们通过URL打开它,得到以下结果

http://127.0.0.1/landing


该网站呈现完美,但样式和脚本不加载



下面是我在index.php中的内容

<!DOCTYPE html><html lang="ua"><head>
<meta name="viewport" content="width=480">
<title><?php echo $param1; ?></title>
<!-- Favicon -->
<link rel="icon" href="images/favicon_1aa7_19.png" type="image/png">
<link rel="shortcut icon" href="images/favicon_1aa7_19.png" type="image/png">
<link rel="stylesheet" href="/css/reset50406_1dab_1.css" type="text/css">
<link rel="stylesheet" href="/css/gothampro67c72_e5b0_2.css" type="text/css">
<link rel="stylesheet" href="/css/slickdc1c6_5bc5_3.css" type="text/css">
<link rel="stylesheet" href="/css/lightbox-minf2560_d182_4.css" type="text/css">
<link rel="stylesheet" href="/css/timecirclese646d_fd7a_5.css" type="text/css">
<link rel="stylesheet" href="/css/style528fc_4d07_6.css" type="text/css">
<!--{{HEAD}}-->
</head>

<body>
  <h1>Hello from landing site</h1>
</body>
</html>


我该怎么补救?

quhf5bfb

quhf5bfb1#

您需要将基本URL设置为用户存储的根。您使用的是绝对路径(/css/...),因此它将尝试在www.example.com加载您的css文件yoursite.com/landing/css/.而不是yoursite.com/css/...
<base>标记添加到<head>内的用户站点将解决此问题:

<base href="https://yoursite.com/landing" target="_blank">

字符串
或者,你也可以不使用base标签,而使用相对路径:

<link rel="stylesheet" href="css/reset50406_1dab_1.css" type="text/css">
<link rel="stylesheet" href="css/gothampro67c72_e5b0_2.css" type="text/css">
<link rel="stylesheet" href="css/slickdc1c6_5bc5_3.css" type="text/css">
<link rel="stylesheet" href="css/lightbox-minf2560_d182_4.css" type="text/css">
<link rel="stylesheet" href="css/timecirclese646d_fd7a_5.css" type="text/css">
<link rel="stylesheet" href="css/style528fc_4d07_6.css" type="text/css">


请注意,它现在是css/...,而不是/css/...

相关问题