Получение 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?
Большое спасибо заранее!