• @guqing guqing closed issue #5420 in halo-dev/halo

    Your current Halo version

    2.13.0-rc.1

    Describe this feature

    开发者好!我是从Wordpress搬家到Halo的,之前在Wordpress里面,默认的链接都是类似aa.com/123/的,
    image-20240229095845090
    现在文章迁移到halo之后,链接变成了aa.com/123,由于之前在很多平台上都有留类似aa.com/123/这种末尾带/的链接,访客访问aa.com/123/会提示404,会给他们造成困扰,以为链接挂了。
    我借助ChatGPT,在nginx配置文件里面添加了重写规则:

        rewrite ^/(.*)/$ /$1 permanent;

    意图将以斜杠("/")结尾的请求重定向到没有斜杠的相同路径,目前来看可以解决一些问题。

    不过担心是否会存在如果有些资源(例如CSS文件)的URL以斜杠结尾也重定向导致其他问题?

    或者说是否有更好的解决方案?谢谢!

    Additional information

    No response

    0 0
  • Below is the list of commits:

    • chore: update logo image (ca71bfe)
    0 0
  • @guqing guqing commented on issue #5420 in halo-dev/halo

    考虑到确实存在这个问题,因此提供了一个插件用来解决,到应用市场安装即可,参考:https://github.com/halo-sigs/plugin-trailing-slash/releases/tag/v1.0.0

    0 0
  • halo-sigs/plugin-trailing-slash

    重写请求去除尾部斜杠,以保证 URL 规范化, 例如: /path/ -> /path

    0 0
  • @guqing guqing published release v1.0.0 in halo-sigs/plugin-trailing-slash

    简介

    Trailing Slash 插件用于处理请求 URL 尾部斜杠问题。在 Spring Framework 3.0 及以上版本中,尾部斜杠的路由支持被弃用
    ,可能导致一些低版本 Halo 或者从其他应用如 Wordpress 等迁移过来的数据的请求路径无法正确处理。该插件旨在通过重写请求路径,移除
    URL 尾部的斜杠,使其能够被正确匹配和处理。

    问题背景

    在 Spring Framework 3.0 之前,框架对 URL 尾部斜杠的路由进行了较宽松的处理。如果一个路由定义为 /example,访问 /example/
    也能成功匹配并返回结果。然而,从 Spring Framework 3.0 开始,为了提高路由规则的一致性和准确性,框架不再支持尾部斜杠的自动匹配行为。
    这导致一些依赖尾部斜杠的用户在升级到 Halo 2.x 后出现 404 错误。

    插件解决方案

    Trailing Slash 插件通过拦截请求 URL,并移除尾部的斜杠,使请求能够与定义的路由匹配。它适用于以下场景:

    • 兼容性:保持旧版本 Halo 在升级到 Halo 2.x 或者从其他应用迁移到 Halo 2.x 后仍然能够处理带尾部斜杠的请求。
    • 一致性:统一路由风格,使所有路由都保持一致的 URL 结构。

    插件功能

    • 尾部斜杠处理:自动移除请求 URL 中的尾部斜杠
    • 主题端过滤:作为主题端 WebFilter 适用于所有主题端请求路径(/apis,/api 开头的请求除外)

    使用建议

    尽管该插件可以帮助解决尾部斜杠问题,但从长期来看,不建议在生产环境中依赖尾部斜杠路由。
    为了获得更好的兼容性和可维护性,建议逐步过渡到标准化的无尾部斜杠路由风格。

    0 0
  • @guqing guqing commented on issue #111 in guqing/halo-theme-higan

    滚动条的颜色估计不好和代码块一样,代码块背景色是可以使用 https://github.com/halo-sigs/plugin-highlightjs 修改的,并不是颜色变量

    0 0
  • 感谢反馈🥸,晚些时候会尝试复现一下,你可以先使用传统方式进行插件运行

    0 0
  • @guqing guqing created tag v1.6.1 in halo-sigs/plugin-moments

    halo-sigs/plugin-moments

    适用于 Halo 2.0 的瞬间插件

    0 0
  • @guqing guqing published release v1.6.1 in halo-sigs/plugin-moments

    What's Changed

    Full Changelog: halo-sigs/plugin-moments@v1.6.0...v1.6.1

    0 0
  • Below is the list of commits:

    • fix: all previously published moments show as under review state after upgrade (#102) (7389cfb)
    0 0