Настроить отображение адресов страничек сайта через .htaccess (гемор)
Пока сайт не наполнен контентом. Созданы html странички для тестинга.
В htaccess файле сейчас пусто.
Инфа по моему серверу (я использую shared-хостинг):
gladys.timeweb.ru/phpinfo.php
Вот мои странички:
www.morozov.one
www.morozov.one/index.html (это та же самая, что и первая страничка)
www.morozov.one/pages/index.html
www.morozov.one/pages/www/within-www-1.html
Что мне нужно:
Настроить правильно отображение адресов. Чтобы были человеческие URL и чтобы в плане SEO было всё верно.
Вот вам в помощь сниппеты:
https://github.com/phanan/htaccess
Итак, что конкретно сделать.
1) Добавить перенаправление с адресов www на адреса без www
Этот блок уже готов. Его просто вставить в .htaccess файл.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.
RewriteCond %{HTTPS}s ^on(s)|off
RewriteCond http%1://%{HTTP_HOST} ^(https?://)(www\.)?(.+)$
RewriteRule ^ %1%3%{REQUEST_URI} [R=301,L]
Это работает. Я проверял для всех четырёх страничек.
2) Отключить отображение расширения .html для страничек в адресной строке браузера
Если я ввожу в адресную строку адрес странички с расширением .html, то после нажатия enter в строке адреса должен отобразиться адрес странички БЕЗ html в конце.
Ввожу: www.morozov.one/index.html Должно перенаправить на: www.morozov.one/index
Ввожу: www.morozov.one/pages/index.html Должно перенаправить на:www.morozov.one/pages/index
Ввожу:www.morozov.one/pages/www/within-www-1.html Должно перенаправить на: www.morozov.one/pages/www/within-www-1
Если я ввожу в адресную строку адрес странички БЕЗ расширения .html, то адрес не должен меняться.
Вот так ввёл:
www.morozov.one/index
www.morozov.one/pages/index
www.morozov.one/pages/www/within-www-1
после enter адрес таким и должен остаться.
Перепробовал всё отсюда:
https://github.com/phanan/htaccess#alias-clean-urls
stackoverflow.com/questions/5730092/how-to-remove-...
НИЧЕГО не работает!
Пробовал в разных браузерах. Пробовал очищать кэш и куки браузера.
3) Убрать trailind slash в конце адреса
Ввожу: morozov.one/ Должно перенаправить на: morozov.one
Ввожу: morozov.one/index/ Должно перенаправить на: morozov.one/index (index - это страничка, не папка)
Ввожу: morozov.one/pages/ Должно перенаправить на: morozov.one/pages (pages - это папка)
4) Убрать точку в конце адреса
Ввожу: morozov.one. Должно перенаправить на: morozov.one
Ввожу: morozov.one/index. Должно перенаправить на: morozov.one/index (это по возможности, не критично)
Вот тут по этому траблу инфа: https://habrahabr.ru/post/172999/
И ГЛАВНЫЙ ВОПРОС
Если это всё реализовать, то у меня будет в худших случаях 4 перенаправления? Не замедлит ли это значительно скорость загрузки странички? Сайт статичный, без CMS. Долго ли сервер будет обсчитывать такие перенаправление?
Вот один из самых худших случаев:
www.morozov.one/pages/www/within-www-1.html.
Цена договорная.
Я геморройщик, сразу говорю. Буду задавать вопросы по коду.