如何使github页面url不区分大小写?

Jer*_*yal 8 html javascript github url-routing jekyll

网站适用于
jerrygoyal.github.io/Flash-Clipboard

但不是(404错误):
jerrygoyal.github.io/flash-clipboard
jerrygoyal.github.io/FLASH-clipboard
jerrygoyal.github.io/flaSH-CLIPboard 等等
你明白了!如何使URL不区分大小写?

我从来没有工作Jekyll,也不确定我的项目页面是否正在使用jekyll.我只创建了一个index.html页面并放在docs存储库的文件夹中.

我正在使用自定义域名(www.jerryfactory.com)来映射jerrygoyal.github.io


这是我的Github组织网站的URL:https://github.com/JerryGoyal/jerrygoyal.github.io

和我的Github项目网站的URL:https: //github.com/JerryGoyal/Flash-Clipboard/tree/master/docs

我想将项目网站内容移动到我的Github组织网站,如果可能的话.因此,如果URL不区分大小写仅适用于组织站点,则可以.


参考:Github的组织和项目站点

Cai*_*ete 12

如何使URL不区分大小写?

简短的回答是:在撰写本文时,你不能/在GitHub页面中不可能.


长期答案是:对URL区分大小写是一种Web标准,大多数Web服务器都会尊重这一点.这与Jekyll或任何其他类似工具无关.服务于Jekyll生成的HTML页面的Web服务器负责,在GitHub页面的情况下,它们使用基于*nix的Web服务器,在查找资源时符合区分大小写的URL.

解决此问题的常用方法是始终确保您在Jekyll中的页面始终是小写的,这反过来会生成较低的URL.

这不应该是一个问题,除非您的用户自己键入URL ...在这种情况下,如果您想要主动,您可以使用jekyll-redirect-from插件并创建最多的重定向条目您认为用户尝试访问每个页面的常用方法.

例如,将主URL设为

  • caioproiete.github.io/flash-clipboard

并通过jekyll-redirect-from将以下内容重定向到上面的主要内容

  • caioproiete.github.io/Flash-Clipboard
  • caioproiete.github.io/FLASH-CLIPBOARD


小智 8

没有直接的方法可以使 github 页面 URL 区分大小写。但是,您可以使用以下技巧:-

从具有混合大小写或大写 URL 的 404 页面重定向到小写 URL。实现这一目标的步骤:-

  • 只需转到您的根存储库 (your_username.github.io)。
  • 如果尚不存在,则创建一个404.html文件并在其中添加以下脚本。
<script>
    window.onload = () => {
        currentURL = window.location.href;
        lowerCaseURL = currentURL.toLowerCase();
        if (currentURL != lowerCaseURL) {
            location.replace(lowerCaseURL);
        }
    };
</script>
Run Code Online (Sandbox Code Playgroud)

注意:- 确保您的页面/存储库名称始终为小写。

用例子解释逻辑:-

如果您的网址是:-

anmol53.github.io/bmi-tracker

有人尝试了以下网址:-

anmol53.github.io/BMI-Tracker

默认情况下,他/她将得到 404。现在我们将anmol53.github.io/bmi-tracker使用上面的脚本更改当前 URL 的大小写来将他/她重定向到。