-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(404): redirect 404s to home keeping the path for react routing
- Loading branch information
Joel Travieso
committed
Nov 19, 2018
1 parent
7f8df9d
commit c985f9a
Showing
2 changed files
with
70 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
<!DOCTYPE html> | ||
<html> | ||
<head> | ||
<meta charset="utf-8"> | ||
<title>404 Redirect Page</title> | ||
<script type="text/javascript"> | ||
// Source: | ||
// Single Page Apps for GitHub Pages | ||
// https://github.com/rafrex/spa-github-pages | ||
// Copyright (c) 2016 Rafael Pedicini, licensed under the MIT License | ||
// ---------------------------------------------------------------------- | ||
// This script takes the current url and converts the path and query | ||
// string into just a query string, and then redirects the browser | ||
// to the new url with only a query string and hash fragment, | ||
// e.g. http://www.foo.tld/one/two?a=b&c=d#qwe, becomes | ||
// http://www.foo.tld/?p=/one/two&q=a=b~and~c=d#qwe | ||
// Note: this 404.html file must be at least 512 bytes for it to work | ||
// with Internet Explorer (it is currently > 512 bytes) | ||
// If you're creating a Project Pages site and NOT using a custom domain, | ||
// then set segmentCount to 1 (enterprise users may need to set it to > 1). | ||
// This way the code will only replace the route part of the path, and not | ||
// the real directory in which the app resides, for example: | ||
// https://username.github.io/repo-name/one/two?a=b&c=d#qwe becomes | ||
// https://username.github.io/repo-name/?p=/one/two&q=a=b~and~c=d#qwe | ||
// Otherwise, leave segmentCount as 0. | ||
var segmentCount = 0; | ||
var l = window.location; | ||
l.replace( | ||
l.protocol + '//' + l.hostname + (l.port ? ':' + l.port : '') + | ||
l.pathname.split('/').slice(0, 1 + segmentCount).join('/') + '/?p=/' + | ||
l.pathname.slice(1).split('/').slice(segmentCount).join('/').replace(/&/g, '~and~') + | ||
(l.search ? '&q=' + l.search.slice(1).replace(/&/g, '~and~') : '') + | ||
l.hash | ||
); | ||
</script> | ||
</head> | ||
<body> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters