Github项目子目录重定向到自定义域名

5
我有一个Github项目页面,链接如下:lwymarie.github.io/QPQ_Web/Quasars_Probing_Quasars/Welcome.html。
该项目名为QPQ_Web。其中包含一个index.html文件,它指向子目录Quasars_Probing_Quasars中的Welcome.html文件,所有其他html文件也存储在此目录中。
我想把URL中整个lwymarie.github.io/QPQ_Web/Quasars_Probing_Quasars/部分替换为www.qpqsurvey.org。即我想跳过URL中的Quasars_Probing_Quasars子目录。请参考当前的www.qpqsurvey.org网站,了解我的意思。
是否可以设置永久链接来实现此目的,而无需重构我的文件?谢谢。
1个回答

4

这似乎与以下问题有关:在Github Pages上将子目录设置为网站根目录

(1) 按照以下说明使您的子目录成为GitHub根目录,然后 (2) 根据GitHub的自定义域说明,将http://www.qpqsurvey.org 重定向到gh-pages:

https://help.github.com/articles/using-a-custom-domain-with-github-pages/

复制@CodeWizard的答案,该答案又引用了https://gist.github.com/cobyism/4730490的前半部分:

将子文件夹部署到GitHub Pages

有时,您希望在master分支上有一个子目录成为存储库的gh-pages分支的根目录。这对于使用Yeoman开发的网站或者如果您在master分支中包含了Jekyll站点以及其余代码的情况非常有用。

为了本例,假设包含您的站点的子文件夹名为dist

第一步

从项目的.gitignore文件中删除dist目录(默认情况下,Yeoman会忽略它)。

第二步

确保git知道您的子树(带有站点的子文件夹)。

git add dist && git commit -m "Initial dist subtree commit"

步骤三

使用子树推送将其发送到GitHub上的 gh-pages 分支。

git subtree push --prefix dist origin gh-pages

如果你的文件夹不叫做dist,那么你需要在上述每个命令中更改它。


如果你经常这样做,你也可以创建一个脚本,并将以下内容放在你的某个路径中:

#!/bin/sh
if [ -z "$1" ]
then
  echo "Which folder do you want to deploy to GitHub Pages?"
  exit 1
fi
git subtree push --prefix $1 origin gh-pages

这使您可以输入诸如以下命令:

git gh-deploy path/to/your/site

完美运行! - Marie Wingyee Lau
很高兴能够帮助。如果它有效,您可以在赞成和反对按钮下方打勾接受我的答案。 - Moobie
1
已接受!对于我是新手感到抱歉。 - Marie Wingyee Lau
1
然而,如果您想要两个子域名重定向到GitPages的两个子目录,该怎么办?您不能同时将两个子目录设置为根目录。具体来说,我如何使sub1.example.com重定向到username.guthub.io/project1/site1/index.html,sub2.example.com重定向到username.github.io/project2/site2/index.html? - LBogaardt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接