-
Notifications
You must be signed in to change notification settings - Fork 0
/
404.html
26 lines (25 loc) · 1.08 KB
/
404.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>My App</title>
<script>
// Web サイトをサブディレクトリに配置するなら、この値を 1 にする。
const SEGMENT_COUNT = 1;
// 例えば、SEGMENT_COUNT = 1 の場合、
// https://yourname.github.io/repo-name/book/123 のような URL のうち、
// repo-name までをベースアドレスとみなし、末尾のパス (books/123)
// をエンコードして次のような URL へリダイレクトする。
// https://yourname.github.io/repo-name?p=book%2F123
const loc = window.location
const origin = loc.origin; //=> https://yourname.github.io
const path = loc.href.substr(origin.length + 1); //=> repo-name/book/123
const segments = path.split('/'); //=> [repo-name, book, 123]
const repo = segments.slice(0, SEGMENT_COUNT).join('/'); //=> repo-name
const param = segments.slice(SEGMENT_COUNT).join('/'); //=> book/123
const url = origin + '/' + repo + '?p=' + encodeURIComponent(param);
loc.replace(url);
</script>
</head>
<body></body>
</html>