Created
June 7, 2020 10:17
-
-
Save romaindelamare/afbe016a19c1767932fee337f6d2448f to your computer and use it in GitHub Desktop.
404.html for Blazor hosting on Github pages
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
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="utf-8"> | |
<title>Single Page Apps for GitHub Pages</title> | |
<script type="text/javascript"> | |
// 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 = 1; | |
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> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment