首页 > 解决方案 > Jekyll 图片无法加载:403 错误

问题描述

杰基尔新手。

不使用 github 页面。

尝试在我的博客上的帖子中包含图片:

---
layout: post
title:  "myTitle"
date:   2018-06-03 17:45:00 -0400
categories: asdf
---

![My helpful screenshot]({{ "/assets/screenshot.jpg" | absolute_url }})

确认图像文件已正确命名并放置在根目录的 assets 文件夹中(与_site本地和我的站点服务器上的 dir 中的 index.html 相同的目录)。

该图像出现在 localhost:4000 上,只要我这样做bundle exec jekyll serve并且本地服务器在我的系统上运行,它就会出现在我的实际站点上……一旦我停止本地服务器,我的站点服务器上的图像就无法加载,这很奇怪。当我切换到使用relative_url图像时无法加载。

检查元素 DOM 图像无法加载的屏幕截图

我还尝试使用以下内容加载图像,即使本地服务器正在运行,我的站点服务器也都失败了:

![My helpful screenshot]('assets/screenshot.jpg')

<img src="{{ site.baseurl }}/assets/screenshot.jpg">

_config.yml

baseurl: ""
url: "" # also tried putting https://myBlogUrl here
markdown: kramdown
plugins:
  - jekyll-feed

由于 403 错误,资产似乎无法获取:

检查元素网络窗格的屏幕截图失败的 GET 请求

我的网站可以通过 http 加载其他所有内容(html 和 css 文档)。为什么图片加载不出来?我怎样才能允许不安全地加载它们?

标签: jekyllliquidhttp-status-code-403

解决方案


由于某种原因,我服务器上的图像文件默认禁用了组和公共读取权限。启用这些特定权限可解决此问题。

chmod 644 <filename>我用(644 =-rw-r--r-- )设置我的文件权限。

请注意,根据您的服务器设置等各种情况(即,如果您在共享服务器上),您需要注意为文件/文件夹设置的权限。我无法就此事提出建议,做你的功课!


推荐阅读