ооо, чувак, тебе надо тут уже BackEnd учить. Таков твой путь:
1. Javascript.
1.1. Сразу переходи на любой FronEnd фреймворк (рекомендую Vue.js)
2. нативный Node.js ( плюс рекомендуется знать систему OSI)
2.1. Переходи на любой BackEnd фреймворк (раз выбрал Vue.js, лучшим выбором будет Nuxt.js, в другом случае Express вполне неплох)
Ну и дальше изучая документацию или пройдя хороший курс уже ясно будет как строится подобный url.
Использовать некий условно "движок", который позволяет это сделать его средствами, а именно - позволяет на определенный url сайта отдавать не просто некий файл, а некий результат выполнения некоего кода.
То есть, при запросе вроде your-site.ru/blog/1 он будет отдавать не просто страницу your-site.ru/blog/1.html с обрезанным расширением, а обращаться к некоей функции (условно), которая будет понимать, что ей нужно обратиться к базе данных сайта, взять оттуда запись с индексом 1 и вывести ее пользователю.
Если описанный выше функционал не предполагается и нужно просто убирать расширения файлов, то воспользоваться функциями модуля mod_rewrite для веб-сервера Apache, а именно создать в корне сайта файл .htaccess и прописать в нем несколько директив:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule !.*\.html$ %{REQUEST_FILENAME}.html [L]
Подробнее об этом можно найти в интернете по запросу вида "mod_rewrite remove html extension".