【发布时间】:2019-02-04 21:11:44
【问题描述】:
我有 jekyll-redirect-from 插件,但它只适用于不是我的根主页的页面。
例如,如果用户键入 www.mywebsite.com/index.html,我希望它重定向并将 URL 显示为 www.mywebsite.com
我能找到的所有内容都集中在博客文章和索引以外的其他页面上。有人遇到过这个问题吗?
【问题讨论】:
标签: ruby jekyll jekyll-extensions
我有 jekyll-redirect-from 插件,但它只适用于不是我的根主页的页面。
例如,如果用户键入 www.mywebsite.com/index.html,我希望它重定向并将 URL 显示为 www.mywebsite.com
我能找到的所有内容都集中在博客文章和索引以外的其他页面上。有人遇到过这个问题吗?
【问题讨论】:
标签: ruby jekyll jekyll-extensions
您不需要重定向,因为www.mywebsite.com/index.html 和www.mywebsite.com 是同一个页面。 (如果你转到www.mywebsite.com,浏览器默认只显示index文件。)
您需要浏览器重写 URL,同时保持在同一页面上。您需要在网络服务器上执行此操作。
.htaccess
如果您的站点位于 Apache 服务器上并且您可以访问该服务器,则可以使用从 www.mywebsite.com/index.html 到 www.mywebsite.com 的 .htaccess 文件到 rewrite the URL。
有在线 .htaccess 生成器 like this one 可以帮助您正确使用语法。
rewriting URLs on nginx 网络服务器也有类似的方法。
GitHub 页面
如果您使用的是 GitHub Pages 之类的服务,则不能使用 .htaccess。一个免费的解决方法是使用 Netlify 来部署您的站点,因为您可以设置 redirects on Netlify。在 Netlify 上创建一个免费帐户并从 GitHub 添加一个新站点。
在你的 repo 的根目录中,创建一个包含以下内容的 netlify.toml 文件:
# Redirect /index.html to /
[[redirects]]
from = "/index.html"
to = "/"
Netlify 现在将处理该重定向。
【讨论】: