如何在GitHub Pages上通过干净URL访问子目录且不包含父文件夹?
保持现有文件夹结构实现简洁URL访问
完全可以做到,不用改动当前的文件夹布局,核心是通过URL重写实现内部转发,不同服务器/平台的配置方式如下:
Apache服务器
在网站根目录创建或编辑.htaccess文件,添加以下规则:RewriteEngine On # 跳过真实存在的文件和目录,避免影响index.html、scripts等的正常访问 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # 将/project1这类请求转发到/projects/project1 RewriteRule ^([^/]+)/?$ /projects/$1 [L]配置后,访问
mywebpage.com/project1时,服务器会内部指向/projects/project1,浏览器地址栏不会改变。Nginx服务器
在站点的Nginx配置文件的server块中添加规则:location / { try_files $uri $uri/ /projects$uri; }或者更精准的规则,仅匹配项目类路径:
location ~ ^/([^/]+)$ { try_files $uri $uri/ /projects/$1; }保存配置后重启Nginx即可生效。
静态托管平台(Netlify、Vercel等)
- Netlify:在根目录创建
_redirects文件,写入:/* /projects/:splat 200 - Vercel:在根目录创建
vercel.json文件,添加:{ "rewrites": [ { "source": "/:path*", "destination": "/projects/:path*" } ] }
平台会自动处理URL的内部转发,保持地址栏显示简洁路径。
- Netlify:在根目录创建
内容的提问来源于stack exchange,提问作者Fin Harris
相关产品推荐
相关产品推荐

