Адрес без index html

Как убрать 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 и нажмите Изменить:

Читайте также:  Работа с датами python

Внутри директории нажмите Создать:

Выберите тип Файл и введите название .htaccess. Затем нажмите Ok:

3. Добавьте в файл одно из правил, в зависимости от того, что вы хотите:

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

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

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

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

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

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

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

1. В Личном кабинете перейдите в панель управления. Для этого в строке с названием нужной услуги хостинга нажмите на 3 точки и выберите Войти в панель управления:

2. В строке с доменным именем нажмите на значок “папка”, чтобы попасть в корневую директорию:

3. Кликните по названию файла web.config:

4. Добавьте в файл одно из правил, в зависимости от того, что вы хотите:

1. Добавьте правило, чтобы подготовить страницу к редиректу:

        " matchType="IsFile" negate="true" /> " matchType="IsDirectory" negate="true" /> .html" />     

2. Добавьте правило редиректа:

         " pattern="(.*).html$" ignoreCase="false" /> " redirectType="Permanent" />   " matchType="IsFile" negate="true" /> " matchType="IsDirectory" negate="true" /> .html" matchType="IsFile" /> .html" />     

Добавьте правило редиректа:

        " matchType="IsFile" negate="true" /> " matchType="IsDirectory" negate="true" /> .aspx" />     

Популярные статьи

  • Как указать (изменить) DNS-серверы для домена
  • Я зарегистрировал домен, что дальше
  • Как добавить запись типа A, AAAA, CNAME, MX, TXT, SRV для своего домена
  • Что такое редирект: виды и возможности настройки
  • Как создать почту со своим доменом

Источник

Как убрать .html в конце адреса каждой веб-страницы сайта, без использования php?

Читал, что можно убрать .html с помощью файла .htaccess, но весь код, который я видел для убирания .html написан на php.

А так как я использую бесплатный хостинг и на нем стоит запрет на использование php, то мне не удается убрать .html.
Можно ли как-то убрать расширение файла в конце адреса без использования php?
Java-скриптом, например.

RewriteEngine On RewriteCond % ! \.html$ RewriteCond % ! /$ RewriteRule ^(.*)$ $1.html

В htaccess. Обращение на /about будет открывать /about.html, к примеру

pandaa

RadCor

RewriteEngine on
RewriteBase /
RewriteCond % ^[A-Z]\ /([^.]+)\.html\ HTTP
RewriteRule ^([^.]+)\.html$ site.ru/$1 [R=301,L]
RewriteCond % !(\.[^./]+)$
RewriteCond % !-d
RewriteCond % !-f
RewriteRule (.*) /$1.html
site.ru замени на домен твоего сайта.

В .htaccess. Обращение к /about.html перенаправляет на /about. Сам этот вариант использую, и вам советую.

vlar909

RadCor

у меня вот есть вот такой вариант, из минусов — он отдает 302

RewriteEngine on
RewriteCond % /([^.]+)\.html [NC]
RewriteRule ^ /%1 [NC,L,R]
RewriteCond %.html -f
RewriteRule ^ %.html [NC,L]

ваш отдает 301 и редиректит как надо но только чистый url, если есть utm или get запросы выдает 404

Кто знает как объединить «позитивные» свойства первого и второго?

Это не «минус», а особенность, иногда желательная, иногда нет. Видите R=301 в коде, который в вопросе? А документацию по RewriteRule вы на сайте Apache читали?

Alien-Ka

а не вариант создать папку например «anything», в папке index.html и у тебя будет путь
«mysite.ru/anything/»??

DimaLepel

viktornaymayer

Код:
RewriteEngine On
RewriteCond % !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]

Пояснение:
#Включаем механизм преобразования
RewriteEngine On
#Задаем условие «в url указан путь файла?»
RewriteCond % !-f
#Если да, то просто убираем html
RewriteRule ^([^\.]+)$ $1.html [NC,L]

Копипаста
#Задаем условие «в url указан путь файла?»
RewriteCond % !-f

Тут проверяется отсутствие в файловой системе физического файла, указанного в запросе,
и если окажется, что он есть (файл exmple.), то выведут именно его вместо желаемого (example.hml). Такое маловероятно, но возможно.

DModUA

ae_ph

У меня проблема с этим.
Расширение html удаляется в конце contact.html но добавляется site который портит всё.
site.ru/site/contact
Как это починить?

должно быть так
site.ru/contact

ae_ph

renat05, У меня заработало всё.
Единственно это не работает если файл называется /my_works т.е. сам файл my_works.html
Это работает только если файл без нижнего слеша в названии: /myworks
А как сделать так, что-бы это работало с нижним слешем я не знаю.
Если у вас есть решение тогда прошу написать его.

RewriteCond % !-f RewriteCond % !-d RewriteCond %.html -f RewriteRule ^.*$ $0.html [L,QSA] RewriteCond % ([^\s]*)\.html(\?[^\s]*)? RewriteRule (.*) %1 [R=301,L]

для тех кому нужно убрать расширение php из урла (адресной строки). код проверен и работает

Специально зарегался сказать, что эта тема сломала мне php скрипты и я 3 дня пытался понять, в чем дело, ворочая бэкапы, которые работали и вдруг перестали. Так вот, имейте в виду, решение покалеченное.

Войдите, чтобы написать ответ

Почему может не работать %20 в урле?

Источник

Как убрать index.html из адресной строки

убрать index.html

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

При переходе по ссылке на главную страницу или при клике по любой кнопке, ведущей на эту главную страницу будь то меню сайта или другая кнопка – в адресной строке браузера дописывается значение /index.html, дублируя при этом основной адрес страницы, не содержащий такой хвост при первом открытии сайта.

Как я узнал, этот момент не очень хорош для поисковых систем. Нашел вот такое решение и решил записать для Вас этот видеоурок:

Как убрать index.html в версии сайта “Компьютер”?

ИНСТРУКЦИЯ:

Создайте в корневой папке Вашего сайта на сервере файл с именем “.htacсess” и вставьте в него подходящий код.

Код для вставки в файл .htacсess выберите и скопируйте, в зависимости от того, по какому протоколу открывается Ваш сайт в браузере. Пропишите в коде свое доменное имя сайта, вместо “ваш сайт” .

для сайтов по протоколу HTTP (без SSL сертификата)

RewriteEngine On RewriteCond % ^[A-Z]\ /index\.html\ HTTP/ RewriteRule ^index\.html$ http://ВАШ САЙТ/ [R=301,L]

для сайтов по протоколу HTTPS (c установленным сертификатом SSL):

RewriteEngine On RewriteCond % ^[A-Z]\ /index\.html\ HTTPS/ RewriteRule ^index\.html$ https://ВАШ САЙТ/ [R=301,L]

Как убрать index.html в макетах “Телефон” и “Планшет”?

Если Вы хотите убрать index.html в мобильной или планшетной версии сайта, то добавьте к уже вставленному коду еще вот эти строчки:

для мобильной версии сайта (HTTP):

RewriteCond % ^[A-Z]\ /phone/index\.html\ HTTP/ RewriteRule ^phone/index\.html$ http://ВАШ САЙТ/phone/ [R=301,L]

для планшетной версии сайта (HTTP):

RewriteCond % ^[A-Z]\ /tablet/index\.html\ HTTP/ RewriteRule ^tablet/index\.html$ http://ВАШ САЙТ/tablet/ [R=301,L]

Вставьте подходящие Вам коды в файл .htacсess и сохраните все изменения. Всё.

Надеюсь у Вас тоже всё получилось и этот способ помог Вам убрать index.html из адресной строки браузера. Пишите в комментариях о Ваших результатах.

Как убрать index.html? Подробный пример из видео.

У меня есть уже готовая тестовая страничка. Она расположена по данному адресу https://test.rodosvet-video.ru/index.html. Давайте я сейчас удалю здесь index.html. Вы видите, что при загрузке данной страницы она открывается без index.html. Но при переходе, например, по одной из кнопок, на которую назначена ссылка на главную страницу сайта – я просто навожу курсор мыши на данную кнопку и внизу в левой нижней части браузера, вы увидите ссылку по которой я перейду после нажатия на данную кнопку. Я нажимаю сюда и мы переходим на ту же самую главную страницу сайта. Но только теперь в адресной строке браузера у нас маячит index.html. Получается, что у нашего сайта две главные страницы, а такое дублирование не очень любят поисковики.

Как же убрать эту надпись, чтобы при переходе по этой ссылке у нас не появлялся index.html в адресной строке браузера?

Используем программу FileZilla

Подразумевается, что у вас уже есть хостинг и доменное имя вашего сайта, вашей странички. Данная страничка расположена у меня на хостинге и я захожу в папку «test», в которой расположены файлы данной странички через программу FileZilla, соединяясь с сервером по ftp-протоколу. В этой программе ничего сложного нет. Здесь достаточно ввести host, который можно узнать у вашего хостера, а также ввести имя пользователя и пароль от ftp-аккаунта, созданного для вашего домена. Здесь вы все это вводите и попадаете в папку к своим файлам на сервере. И можете делать здесь с ними различные операции.

Создаем файл «.htaccess»

В корневой папке нашего сайта, т. е. в папке «test» – это у меня поддомен основного сайта, – нам еще необходимо создать один файл. Для этого я нажимаю здесь правой кнопкой мыши на свободном поле и выбираю «Создать новый сайт». Файл должен называться «.htaccess». Нажимаем «ОК». Файл создан. В этот файл вы должны внести определенную запись. Для того чтобы его отредактировать нажимаем на нем правой кнопкой мыши и выбираем «Просмотр/Правка». Правка открывается в обычном блокноте Windows. Мы можем редактировать данный файл как обычный тестовый файл.

Сюда нам нужно внести определенную запись. Запись эта выглядит вот так:

RewriteEngine On RewriteCond % ^[A-Z]\ /index\.html\ HTTP/ RewriteRule ^index\.html$ https://test.rodosvet-video.ru/ [R=301,L]

Изменяем и сохраняем. http и https.

У меня есть отдельный файл, в котором я уже сохранил данную запись. Я просто беру и копирую ее. Нажимаю «Копировать» и иду в мой файл «.htaccess», который я открывал в блокноте, и вставляю сюда данные строчки.

Первые две строки здесь остаются постоянными. Единственное, если ваш сайт открывается по протоколу https как моя страничка, то я должен дописать здесь букву «s» к http. Тоже самое мы делаем в третьей строке. Здесь мы пишем «https» или «http», если у вас страничка открывается по http-протоколу. И здесь дальше пишите доменное имя вашего сайта или вашего поддомена.

В моем случае – это как раз таки поддомен на основном сайте. Мы просто дальше идем в «Файл», нажимаем «Сохранить» и закрываем его. При этом FileZilla видит, что файл был изменен и спрашивает: «Загрузить ли его на сервер?». Мы нажимаем «Да». И предварительно можем поставить галочку «Закончить правку и удалить локальный файл».

Локальный файл у нас сохранен в папке «temp». И для того чтобы удалить его из папки «temp», мы ставим здесь галочку. Нажимаем «Да». И файл у нас обновлен. Если мы теперь откроем его для правки, то вы увидите, что здесь эта запись сохранилась. Я сейчас здесь редактировать больше ничего не буду. Закрываю его.

Как убрать index.html? Результат.

И теперь давайте перейдем в браузер, и попробуем еще раз открыть наш тестовый сайт с кнопки, на которой у нас назначена ссылка на главную страницу сайта. Давайте удалим index.html из адресной строки браузера и нажмем «enter». Наш сайт теперь открылся без index.html. Теперь давайте попробуем кликнуть по кнопке и посмотрим появится ли index.html в адресной строке браузера. Нажимаю. И все. Все работает теперь. Index.html в адресной строке браузера при нажатии на кнопки главной страницы сайта не появляется. Хотя при наведении курсора мыши на кнопку в ссылке слева снизу в браузере у нас появляется ссылка, которая ведет на главную страницу сайта с добавлением index.html после слеша.

Вот таким простым способом вы можете избавиться от данной проблемы. Всего лишь создав в корневой папке сайта или странички файл с называнием «.htaccess» и вставив в него соответствующий код. Данный код вы сможете скопировать в статье на моем блоге в urokimuse.ru. Там будет статья с этим видео и вы сможете скопировать данную запись, изменить ее под себя и вставлять на свои сайты, созданные в Adobe Muse.

На этом все. Я заканчиваю данный видеоурок. Подписывайтесь на мой канал, ставьте лайки, пишите комментарии. С вами был Дмитрий Шаповалов и до встречи в следующих видеоуроках!

Автор видеоуроков и курсов Adobe Muse
Дмитрий Шаповалов

Источник

Оцените статью