Это динамические страницы. Вам надо для начала приступить к изучению какого-либо языка, тогда станет ясно как делать подобное.
Если вы хотите такое же применять на PHP, то допустим для Apache есть вот такая конфигурация
.htaccessOptions +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Ну а в
index.php вам нужно будет весь остаточный путь парить под свои нужды.
UPD
FX-Mercury: ну допустим если вопрос стоит именно в том, чтобы не перезагружать страницу, то это AJAX технология + работа с историей браузера, тогда вам надо использовать что-то подобное:
Работает в браузерах Chrome, Safari, FF4+ и IE10pp4+!
Пример:
function processAjaxData(response, urlPath){
document.getElementById("content").innerHTML = response.html;
document.title = response.pageTitle;
window.history.pushState({"html":response.html,"pageTitle":response.pageTitle},"", urlPath);
}
Также можешь использовать
windows.onpopstate для определения нажатия кнопок навигации браузера назад/вперед:
window.onpopstate = function(e){
if(e.state){
document.getElementById("content").innerHTML = e.state.html;
document.title = e.state.pageTitle;
}
};
Для более глубокого изучения манипуляции с историей браузера читай
MDN, там все расписано.
Кстати, если надо что-то подобное использовать на IE7, то рекомендую смотреть в сторону
history.js.
Для тех, кто задается вопросом что такое IE10pp4+ — это Internet Explorer 10 версии и старше на Windows 8 Platform Preview 4 версии и старше