Перейти к основному контенту

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

Предположим, вы заказали бесплатный хостинг для сайтов html в REG.RU. По умолчанию когда вы открываете сайт в браузере, веб-сервер указывает в конце домена название индексного файла «index.html» или «index.php». Это негативно сказывается на поисковой позиции сайта. Для успешного продвижения в поисковых системах потребуется настройка переадресации с удалением «index.html» или «index.php» в конце адреса вашего сайта. Например, перенаправление с сайта «faq-reg.ru/index.html» на «faq-reg.ru»

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

  1. 1.
    Откройте файл .htaccess в корневой директории сайта. Если у вас нет этого файла воспользуйтесь справкой: У меня нет файла .htaccess, что делать?
  2. 2.

    Добавьте в конце файла .htaccess одно из правил, которое подходит для вашего случая:

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

    Чтобы убрать index.html в конце адреса вашего домена, воспользуйтесь правилом:

    RewriteEngine On
    RewriteRule ^index\.html$ / [R=301,L]
    Как убрать index.php из URL для главной страницы

    Чтобы убрать index.php в конце адреса вашего домена, воспользуйтесь правилом:

    RewriteEngine On
    RewriteRule ^index\.php$ / [R=301,L]
    Как убрать index.html из URL для всех страниц

    Если у вас несколько файлов index.html в разных папках, например, faq-reg.ru/support/index.html, вы можете убрать index.html из адресной строки, применив правило:

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

    Теперь любой запрос, который оканчивается на «index.html», будет переадресован на URL без него.

    Как убрать index.php из URL для всех страниц

    Если у вас несколько файлов index.php в разных папках, например, faq-reg.ru/support/index.php, вы можете применить правило:

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

    Теперь любой запрос, который оканчивается на «index.php», будет переадресован на URL без него.

  3. 3.
    Сохраните файл с внесенными изменениями.

Готово, после внесения правила в .htaccess ваш сайт будет открываться без index.html или index.php в конце URL.

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

  1. 1.
    Откройте файл web.config в корневой директории сайта.
  2. 2.
    Добавьте в конце файла web.config одно из правил, которое подходит для вашего случая:
Как убрать index.html из URL
  1. 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. 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>
Как убрать index.aspx из URL

Воспользуйтесь правилом:

<?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>
Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 1 из 3