Как убрать index.html из URL

Файл index.html – это стандартный файл, который используется веб-серверами для отображения содержимого корневой директории сайта. Если вы открываете сайт без указания конкретного файла в URL, то веб-сервер автоматически открывает файл index.html, если он есть в корневой директории сайта.

Например, если у вас есть сайт с доменным именем example.com и файл index.html находится в корневой директории сайта, то вы можете открыть его, введя в адресной строке браузера следующий URL: http://example.com/index.html. Однако, если вы просто введете http://example.com, то веб-сервер автоматически откроет файл index.html.

Файл index.html может содержать HTML-код, который определяет структуру и содержимое веб-страницы. Он может также содержать ссылки на другие файлы, такие как CSS-стили, JavaScript-скрипты и изображения, которые используются на веб-странице.

В целом, использование файла index.html в URL позволяет упростить адрес сайта и обеспечить быстрый доступ к содержимому корневой директории сайта, однако это негативно сказывается на поисковой позиции сайта. Чтобы успешно продвигать его поисковых системах нужно настроить переадресацию с удалением «index.html» в конце адреса сайта. Например, перенаправление с сайта «example.com/index.html» на «example.com».

Как убрать index.html через htaccess

Чтобы убрать index.html из URL сайта, можно использовать файл .htaccess. Для этого нужно выполнить следующие шаги:

  1. Создайте файл .htaccess в корневой директории сайта, если его еще нет. 
  2. Добавьте в файл правило – в зависимости от того, что вам нужно:

Убрать index.html из URL для главной страницы:

RewriteEngine On

RewriteRule ^index\.html$ / [R=301,L]

Убрать index.html из URL для всех страниц:

RewriteEngine On

RewriteRule ^index\.html$ / [R=301,L]

RewriteRule ^(.*)/index\.html$ /$1/ [R=301,L]

  1. Сохраните изменения.

Как убрать index.php через web.config

Если говорить в общем, web.config позволяет веб-разработчикам изменять настройки приложений без необходимости изменения кода приложений. Каждое веб-приложение имеет свой web.config, который хранится в корневой папке приложения на сервере.

Чтобы убрать index.html из URL сайта через web.config нужно выполнить следующие шаги:

  1. Войдите в панель управления хостингом и перейдите в корневую директорию сайта.
  2. Выберите файл web.config.
  3. Добавьте в файл следующие правила:

Чтобы подготовить страницу к редиректу:

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

 <system.webServer>

              <rewrite>

                  <rules>

                      <rule name="Rewritehtml">

                          <match url="(.*)" />

                          <conditions logicalGrouping="MatchAll">

                              <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />

                              <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />

                          </conditions>

                          <action type="Rewrite" url="{R:1}.html" />

                      </rule>

                  </rules>

              </rewrite>

 </system.webServer>

</configuration>

Чтобы добавить редирект:

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

 <system.webServer>

              <rewrite>

                  <rules>

                     <rule name="Redirect .html extension" stopProcessing="false">

                       <match url="^(.*).html$" ignoreCase="true" />

                  <conditions logicalGrouping="MatchAny">

                    <add input="{URL}" pattern="(.*).html$" ignoreCase="false" />

                  </conditions>

                       <action type="Redirect" url="{R:1}" redirectType="Permanent" />

                     </rule>

                     <rule name="hide .html extension" stopProcessing="true">

                       <match url="^(.*)$" ignoreCase="true" />

                  <conditions>

                    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />

                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />

                    <add input="{REQUEST_FILENAME}.html" matchType="IsFile" />

                  </conditions>

                       <action type="Rewrite" url="{R:0}.html" />

                     </rule>

                  </rules>

              </rewrite>

 </system.webServer>

</configuration>

Заключение

Убирая index.html из URL, мы улучшаем читаемость URL для пользователя, делаем его более кратким и легким для запоминания. Кроме того, это позволяет упростить процесс обслуживания сайта и ускорить его загрузку, так как серверу не нужно обрабатывать запросы на поиск файла index.html. Также это может улучшить SEO сайта, так как поисковые системы могут рассматривать страницы как уникальные, а не как дубликаты с одинаковыми URL.

Всё ещё остались вопросы?