Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

在查看文章页面时,一旦刷新,就显示404 #185

Closed
321paranoiawhy opened this issue Mar 24, 2022 · 28 comments
Closed

在查看文章页面时,一旦刷新,就显示404 #185

321paranoiawhy opened this issue Mar 24, 2022 · 28 comments
Labels

Comments

@321paranoiawhy
Copy link

chrome和firefox下都存在这一问题,只要在文章页面点击刷新就会显示404

@bennyxguo
Copy link
Member

@idnewnil
Copy link

permalink应该设置为/post/:title而不是/post/:title.html,不然同样会404

@321paranoiawhy
Copy link
Author

321paranoiawhy commented Oct 11, 2022 via email

@YAOmeihah
Copy link

permalink应该设置为/post/:title而不是/post/:title.html,不然同样会404
按照这个大佬的成功修复了,按照文档的 还是404 , 谢谢哈

@Satoing
Copy link
Contributor

Satoing commented Jan 2, 2023

vue build的时候选择hash模式就不会有这个问题

@bennyxguo
Copy link
Member

vue build的时候选择hash模式就不会有这个问题

Hash 模式 SEO 会相对比较差哦。

@TTsdzb
Copy link

TTsdzb commented Aug 4, 2023

一些服务器以及 Vercel 需要配置回退,参考 Vue 官方文档
腾讯云 COS 可以参考这个,同时把下面 错误文档响应码 改为 200

@bennyxguo
Copy link
Member

一些服务器以及 Vercel 需要配置回退,参考 https://router.vuejs.org/zh/guide/essentials/history-mode.html

正解!:+1:

@bennyxguo bennyxguo pinned this issue Aug 4, 2023
@fffmath
Copy link

fffmath commented Aug 5, 2023

自定义页面之间不发生跳转以及 about 页面再刷新404 bug #178
我查了查他让我这样做,但是我不知道怎么做才能让这个vercel.json保留在hexo -g生成的文件夹里面TAT
Vercel
在项目根目录创建一个vercel.json文件,内容如下:

json
{
"rewrites": [{ "source": "/:path*", "destination": "/index.html" }]
}

@TTsdzb
Copy link

TTsdzb commented Aug 5, 2023

自定义页面之间不发生跳转以及 about 页面再刷新404 bug #178
我查了查他让我这样做,但是我不知道怎么做才能让这个vercel.json保留在hexo -g生成的文件夹里面TAT
Vercel
在项目根目录创建一个vercel.json文件,内容如下:

json { "rewrites": [{ "source": "/:path*", "destination": "/index.html" }] }

不需要在生成文件夹里,你把它放在项目根目录,Vercel会自己读取这个文件,试一下

@fffmath
Copy link

fffmath commented Aug 5, 2023 via email

@fffmath
Copy link

fffmath commented Aug 5, 2023 via email

@TTsdzb
Copy link

TTsdzb commented Aug 5, 2023

这么神奇玄学吗?!我的vercel对应的是我的github,但是我的github只有生成之后的那些文件,我觉得vercel接触不到这个文件呀,那我试一试

2023年8月5日 16:47,TTsdzb @.**> 写道: 自定义页面之间不发生跳转以及 about 页面再刷新404 bug #178 <#178> 我查了查他让我这样做,但是我不知道怎么做才能让这个vercel.json保留在hexo -g生成的文件夹里面TAT Vercel 在项目根目录创建一个vercel.json文件,内容如下: json { "rewrites": [{ "source": "/:path", "destination": "/index.html" }] } 不需要在生成文件夹里,你把它放在项目根目录,Vercel会自己读取这个文件,试一下 — Reply to this email directly, view it on GitHub <#185 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AN66A5MCBSSWFT67OSHU3L3XTYCC5ANCNFSM5RRWNSZA. You are receiving this because you commented.

额额,你这样的话应该不行,正常的流程应该是你的 Github 上保存着你的项目源码,Vercel 获取你的项目源码在线上生成然后部署。如果你要自己生成,你得把这个 json 手动放到生成的文件夹里。

@fffmath
Copy link

fffmath commented Aug 5, 2023

这么神奇玄学吗?!我的vercel对应的是我的github,但是我的github只有生成之后的那些文件,我觉得vercel接触不到这个文件呀,那我试一试

2023年8月5日 16:47,TTsdzb @.**> 写道: 自定义页面之间不发生跳转以及 about 页面再刷新404 bug #178 <#178> 我查了查他让我这样做,但是我不知道怎么做才能让这个vercel.json保留在hexo -g生成的文件夹里面TAT Vercel 在项目根目录创建一个vercel.json文件,内容如下: json { "rewrites": [{ "source": "/:path", "destination": "/index.html" }] } 不需要在生成文件夹里,你把它放在项目根目录,Vercel会自己读取这个文件,试一下 — Reply to this email directly, view it on GitHub <#185 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AN66A5MCBSSWFT67OSHU3L3XTYCC5ANCNFSM5RRWNSZA. You are receiving this because you commented.

额额,你这样的话应该不行,正常的流程应该是你的 Github 上保存着你的项目源码,Vercel 获取你的项目源码在线上生成然后部署。如果你要自己生成,你得把这个 json 手动放到生成的文件夹里。

怎么可以把这个json一直放到文件夹里面,类似那个favicon.ico一样

@TTsdzb
Copy link

TTsdzb commented Aug 5, 2023

怎么可以把这个json一直放到文件夹里面,类似那个favicon.ico一样

你试试直接放在 source 文件夹里呢?

@fffmath
Copy link

fffmath commented Aug 5, 2023 via email

@fffmath
Copy link

fffmath commented Aug 5, 2023

我知道了,这样做可以做到:
include:

  • 'vercel.json'
    exclude:
    ignore:
    然后再
    skip_render:
  • 'vercel.json'

@TTsdzb
Copy link

TTsdzb commented Aug 5, 2023

我知道了,这样做可以做到:

include:
  - 'vercel.json'
exclude:
ignore:

然后再

skip_render:
  - 'vercel.json'

这样也可以完成任务,但严格上说这个东西不是这样设计的,你这样比较绕弯子……

“部署到 git 仓库”这个功能是用来把生成好的文件推送到自己的云服务器上用的。而 Vercel 部署项目的过程自带了生成的步骤,所以跟这个不太一样。具体可以参考 Hexo 的官方文档

如果你有时间,建议你修改一下你部署的方式。首先按官方文档的第一步添加一个构建脚本(如果已经有那一条就不用添加了),随后把整个 Hexo 项目上传到一个 Github 仓库,最后在 Vercel 中新建项目并导入这个项目仓库。 Vercel 会根据你的构建脚本自动配置好,而且以后你对博客做了修改,只要推送到 Github,Vercel 会自动生成并部署。

之后你只要在 _config.yml 同级的目录下放置 vercel.json 就可以了。

@fffmath
Copy link

fffmath commented Aug 5, 2023 via email

@TTsdzb
Copy link

TTsdzb commented Aug 5, 2023

但是你这样做 就是不用hexo d了吧,每次都直接全push到github分支上然后等vercel生成

是这样的

@fffmath
Copy link

fffmath commented Aug 5, 2023 via email

@TTsdzb
Copy link

TTsdzb commented Aug 5, 2023

我习惯直接hexo cl &hexo g &hexo s看一下 然后再改成hexo d,我知道你那种方式,我还是习惯这样

额其实是一样的,只不过把 hexo d 换成了 git push _(:3」∠)_

另外还有个问题,vercel.json 属于是给服务器看的配置文件,但是它在一些你可能没留意的地方暴露到了站点上(https://fffmath.github.io/vercel.json)。这并不是个好习惯 (・.・;)

@fffmath
Copy link

fffmath commented Aug 5, 2023 via email

@auroral-bot
Copy link

auroral-bot bot commented Sep 5, 2023

This issue is stale because it has been open for 30 days with no activity.

@auroral-bot auroral-bot bot added the stale label Sep 5, 2023
@bennyxguo bennyxguo closed this as not planned Won't fix, can't repro, duplicate, stale Sep 12, 2023
@bennyxguo bennyxguo mentioned this issue Sep 15, 2023
Closed
@bkf777
Copy link

bkf777 commented Nov 3, 2023

url: https://blog.ezrealbbb.space permalink: /post/:title permalink_defaults: pretty_urls: trailing_index: true # Set to false to remove trailing 'index.html' from permalinks trailing_html: true # Set to false to remove trailing '.html' from permalinks
原本在博客页面刷新404,配置了Permalinks后刷新后下载该页面

@rtoscani
Copy link

rtoscani commented Dec 6, 2023

url: https://blog.ezrealbbb.space permalink: /post/:title permalink_defaults: pretty_urls: trailing_index: true # Set to false to remove trailing 'index.html' from permalinks trailing_html: true # Set to false to remove trailing '.html' from permalinks Originally, the blog page refreshed with 404. After configuring Permalinks, refresh and download the page.

Happened the same to me. Fixed with these options on _config.yml:

permalink: /post/:title.html
pretty_urls:
  trailing_index: true
  trailing_html: true

@QDHecer
Copy link

QDHecer commented Dec 19, 2023

trailing_html配置为false后可以正常刷新,不会触发浏览器下载页面的行为

permalink: /post/:title.html
pretty_urls:
  trailing_index: true
  trailing_html: false

@cyl-ly
Copy link

cyl-ly commented Dec 24, 2023

trailing_html配置为false后可以正常刷新,不会触发浏览器下载页面的行为

permalink: /post/:title.html
pretty_urls:
  trailing_index: true
  trailing_html: false

感谢,问题已解决

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests