Получение Backbutton для работы на одностраничном веб-сайте и реализация «говорящих» URL

У меня есть одностраничный веб-сайт, и я хотел бы добиться следующего:

кнопка назад работает, как будто это был нормальный сайт

и вместо того, чтобы сказать,

www.mysite.com/index.php?p=#this-is-a-great-productI»

хотел бы иметь этот URL

www.mysite.com/this-is-a-great-product

пока кнопка возврата работает нормально.

Относительно 1.) Я использую следующий код, который я нашел, который прекрасно работает:…



var times = 0;
function doclick() {
    times++;
}
function doclick() {
    times++;
    location.hash = times;
}
window.onhashchange = function() {     
    if (location.hash.length > 0) {        
        times = parseInt(location.hash.replace('#',''),10);     
    } else {
        times = 0;
    }
}

но, конечно, он просто меняет любые якоря на / # 1, затем / # 2 и так далее, чтобы заставить кнопку работать. Но как яЯ не программист, я нене знаю, как это изменить ... :(

Относительно 2.) я могу добавить в htaccess это:

>RewriteEngine On
>RewriteRule ^([^/.]+)/?$ /index.php?page=$1

и это меняет /index.php?p=products на / products.

Так как мне изменить вышеуказанный код (под 1.), чтобы он неt изменить все якоря на # 1, # 2 и т. д., но вместо этого ссылается на / использует URL-адреса, которые я достиг под 2, как

www.mysite.com/this-is-a-great-product

А также(вероятно, очень тупой вопрос, но очень важный) -даленный я используютолько новые ссылки на моем сайте - есть ли опасность, что это все равно может привести к дублированию контента в любом случае?

В связи с этим, должен ли я (по этой или любой другой причине) отдать свою собственную страницу index.php себе, используя rel canonical link = index.php?

Большое спасибо заранее!

Ответы на вопрос(3)

Ваш ответ на вопрос