Верстка, CSS, HTML, SVG

Как сделать так чтобы на сайтах не отображалось расширение страниц .html?

Технически, для того чтобы скрыть расширение файлов .html на сайтах, можно использовать технологию "URL реврайтинга". URL реврайтинг - это процесс замены или изменения URL-адреса веб-страницы без изменения ее содержимого или расположения на сервере.

Для реализации URL реврайтинга вам нужно создать или изменить файл .htaccess, который содержит правила перезаписи URL-адресов. Вот пример правил для скрытия .html расширения в адресах страниц на сервере Apache:

```
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]
```

Как это работает:

- `RewriteEngine On` - включает модуль перезаписи URL в Apache.
- `RewriteCond %{REQUEST_FILENAME} !-f` - проверяет, если запрашиваемый URL не соответствует имени существующего файла на сервере, то только тогда правило перенаправления применяется.
- `RewriteRule ^([^\.]+)$ $1.html [NC,L]` - перенаправляет URL без .html расширения на URL с .html расширением. `^([^\.]+)$` соответствует любой URL-адресу без точек (то есть без расширения), а `NC,L` указывает на регистронезависимое сравнение (NC) и на то, что эта правила является последней (L).

После этого файлы .html будут отображаться без расширения в браузере при обращении к страницам сайта. Также обратите внимание, что для работы этого правила нужно, чтобы веб-сервер поддерживал модуль перезаписи URL.
Юрий Лактионов
Юрий Лактионов
14 368
Лучший ответ
Создай и положи в корень сайта файл .htaccess:
Антон Голиков а на сайте обязательно CMS при этом должна быть?
Это как же ты собрался редактировать чужие сайты?
Gu
Gunter
92 627
Антон Голиков Не чужие. Свой
Всмысле?
RewriteEngine on
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+)\.html\ HTTP
RewriteRule ^([^.]+)\.html$ site.ru/$1 [R=301,L]
RewriteCond %{REQUEST_URI} !(\.[^./]+)$
RewriteCond %{REQUEST_fileNAME} !-d
RewriteCond %{REQUEST_fileNAME} !-f
RewriteRule (.*) /$1.html
site.ru замени на домен твоего сайта.

В .htaccess.
Изучать возможности волшебного файла .htaccess
Ну а в самом простом случае site.ru/index.html имя файла index.html можно вообще не писать.
Антон Голиков а на сайте обязательно CMS при этом должна быть?
Аян Дуйсенбаев Не обязательно.
Можно создать папку и в ней сделать HTML файл index.html
А дальше на любой другой странице писать путь к папке (без index.html)
Никак