Использование ложных URL-адресов с API истории HTML5

Я работаю над сайтом, на котором есть базовый слайдер с 4 слайдами, которые идут влево и вправо, и показывает только 1 слайд по центру страницы. Все содержимое слайдов загружается на одну страницу, каждый в свой собственный div.

<div id="slider-box">
    <div class="slide">HTML and bg image</div>
    <div class="slide">HTML and bg image</div>
    <div class="slide">HTML and bg image</div>
    <div class="slide">HTML and bg image</div>
</div>

Ничего фантастического. Также каждый слайд связан со ссылкой:

<a href="/gallery">Gallery</a>
<a href="/links">Links</a>
<a href="/about">About</a>
<a href="/resources">Resources</a>

Поэтому я начал использовать History.js, чтобы связать каждый слайд с соответствующей ссылкой; www.example.com/about. Я могу изменить состояние без проблем; работа назад и вперед, а URL-адрес меняется.

Что я действительно заметил, так это то, что если я загружаю страницу с ложным URL-адресом, например, www.example.com/about, страница возвращает 404.

Что я могу сделать, чтобы предотвратить появление ошибки 404, а также убедиться, что страница переходит на правильный слайд?

Есть ли другой способ, которым я должен это делать?

Я нахожусь в стеке LAMP с jQuery и HTML5.

Я действительно застрял на этом ... спасибо!


person Marc    schedule 12.07.2011    source источник


Ответы (2)


Если я правильно вас понимаю, вам действительно нужно создать страницы /about, /gallery и т. д. Подумайте об этом, History API работает только на одной странице. Он манипулирует тем, что говорит адресная строка, но сам по себе не создает фактические URL-адреса.

Мое решение будет использовать что-то вроде mod_rewrite. /about будет перенаправлять на что-то вроде /?p=about, что загрузит вашу страницу с уже открытым соответствующим div. То же самое для других слайдов. Только после этого вы сможете использовать функциональность History API.

person avramov    schedule 24.01.2012

Это наш веб-сервер, который обрабатывает ошибку HTTP 404, смотрите документацию вашего веб-сервера, чтобы узнать, как создавать пользовательские страницы ошибок с перенаправлениями и т. д. Если вы используете Microsoft Internet Information Server 7, посмотрите здесь http://blogs.iis.net/rakkimk/archive/2008/10/03/iis7-enbling-custom-error-pages.aspx

person Community    schedule 13.07.2011