Как убрать index.html из URL
По умолчанию в url-адресе главной страницы любого сайта отображается название индексного файла. В зависимости от типа расширения файла, url-адрес сайта может выглядеть так https://site.ru/index.html или так https://site.ru/index.php.
Сайт с таким адресом сложно продвигать в поисковых системах. Чтобы поисковые роботы продвигали сайт на более высокие позиции в выдаче, можно настроить перенаправление с site.ru/index.html на site.ru в локальном конфигурационном файле:
- .htaccess — для хостинга на Linux,
- web.config — для хостинга на Windows.
В файле достаточно прописать правило, благодаря которому веб-сервер будет перенаправлять посетителей на нужный URL. Как это сделать, мы рассказали ниже.
Как убрать index.html через .htaccess
1. В Личном кабинете перейдите в панель управления. Для этого в строке с названием нужной услуги хостинга нажмите на 3 точки и выберите Войти в панель управления:
2. В разделе “Главное” выберите Менеджер файлов и откройте корневую директорию сайта. Затем кликните по строке .htaccess и нажмите Изменить:
Внутри директории нажмите Создать:
Выберите тип Файл и введите название .htaccess. Затем нажмите Ok:
3. Добавьте в файл одно из правил, в зависимости от того, что вы хотите:
- Убрать 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]
- Убрать index.php из URL для главной страницы:
RewriteEngine On
RewriteRule ^index\.php$ / [R=301,L]
- Убрать index.php из URL для всех страниц:
RewriteEngine On
RewriteRule ^index\.php$ / [R=301,L]
RewriteRule ^(.*)/index\.php$ /$1/ [R=301,L]
4. Сохраните изменения.
Как убрать index.html через web.config
1. В Личном кабинете перейдите в панель управления. Для этого в строке с названием нужной услуги хостинга нажмите на 3 точки и выберите Войти в панель управления:
2. В строке с доменным именем нажмите на значок “папка”, чтобы попасть в корневую директорию:
3. Кликните по названию файла web.config:
4. Добавьте в файл одно из правил, в зависимости от того, что вы хотите:
1. Добавьте правило, чтобы подготовить страницу к редиректу:
<?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>
2. Добавьте правило редиректа:
<?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>
Добавьте правило редиректа:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Rewriteaspx">
<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}.aspx" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
5. Сохраните изменения.