Comments 13
А предложение сделать одностраничный сайт, который будет загружаться со статусом 404 — это оригинально, но делать такое я никому не посоветовал бы.
Можно сделать с 404 перенаправление на index.htm который покажет нужную страницу и нужный url методом history.replaceState.
А внешние сайты можно запихнуть во frameset если нет запрета на отображение во фрейме.
<frameset rows="*">
<frame frameborder=0 src="http://dabblet.com/gist/722909b9808c14eb7300" scrolling="auto" noresize>
</frameset>
Уверен, что есть более красивый способ для gh-pages. Хотя, даже в геме jekyll-redirect-from используют похожий способ… грустно.
То есть, по адресу http://graphics2d.js.org/ (да, этот сайт на gh pages) на самом деле показывается http://graphics2d.js.org/index.html, и так не только с главной: http://graphics2d.js.org/examples/ на самом деле http://graphics2d.js.org/examples/index.html.
То есть, в принципе делать красивые урлы достаточно легко, и незачем для этого извращаться с 404. Другой вопрос, если хочется хранить URL-map в JSON, что и реализовано в посте.
Смысл таких URL — в том, чтобы с сервера отдавалась нужная страница. Если же роутинг работает только клиентский — надо не извращаться с 404, а использовать адреса старого формата (http://example.com/#!/path)
На gh-pages можно включить jekyll-redirect-from, который умеет redirect_from
для перенаправления на текущую страницу(работает только в пределах сайта) и redirect_to
для перенаправления с текущей страницы на любой другой сайт.
Не совсем понимаю смысл использовать github-pages
- бесплатно
- надёжно, отказоустойчивость из коробки
- для сайта-визитки или standalone блога предоставляемой функциональности хватает на 100%
Вопрос даже не в цене на хостинг, а в том, что он всё равно требует вложения времени и сил: регулярно оплачивать, следить, чтобы не кончились деньги на балансе, мониторить, чтобы починить когда оно ляжет и т. д.
URL rewriting на GitHub Pages