0 Пользователей и 1 Гость просматривают эту тему.
  • 15 Ответов
  • 6807 Просмотров
*

Benefactor

  • Захожу иногда
  • 156
  • 2 / 2
Товарищи, а есть подробный гайд по следующему?
дубли страниц вида:
Код
site.ru/stranica
site.ru/stranica/
site.ru/stranica.html
Нужно отставить:
Код
site.ru/stranica.html
С остального поставить 301, подскажите как выполнить в .htaccess или дайте что почитать. Нашел только как убрать на конце URL "/" с 301-м, но как и со слешем "/" и страницы без окончания переадресовать на ".html" не врубаюсь.

Применение всевозможных seo компонентов в данном случае неуместно.
*

Efanych

  • Глобальный модератор
  • 4687
  • 644 / 0
  • Меняю свою жизнь на 360°!
Мне такое решение нравится
Создание сайтов, шаблонов, помощь в решении проблем.
*

Benefactor

  • Захожу иногда
  • 156
  • 2 / 2
Не годится. Проект уже большой, страниц много, нужна будет полная переиндексация. Трафик просядет, доход.
Нужно что-то именно с htaccess, чтобы быстро и четко, без лишних ситуаций с модулями и плагинами.

Вот самое работающее, но оно делает с простого окончания, на слеш.
Код
RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1/ [R=301,L]
*

zikkuratvk

  • Глобальный модератор
  • 4807
  • 341 / 2
  • Обслуживаем проекты - дорого.
чисто теоретически вот такое должно работать
Код
RewriteRule ^(.*)/$ /$1.html [R=301,L]
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

zikkuratvk

  • Глобальный модератор
  • 4807
  • 341 / 2
  • Обслуживаем проекты - дорого.
Соединил два кода и получилось все отлично

Код
RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1.html [R=301,L]
RewriteRule ^(.*)/$ /$1.html [R=301,L]
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

wfedin

  • Завсегдатай
  • 1273
  • 102 / 0
Да, отличное решение. Если вас не затруднит объясните отличие от
Код
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*).html$
RewriteRule ^(.*[^/])$ $1.html [L,R=301]
*

zikkuratvk

  • Глобальный модератор
  • 4807
  • 341 / 2
  • Обслуживаем проекты - дорого.
первая часть регулярка которая редиректит без слеша на окончание .html
вторая редиректит с окончания / на .html
первую я вашу исправил просто указал куда ему редиректить... а второе свое дописал.
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

wfedin

  • Завсегдатай
  • 1273
  • 102 / 0
первую я вашу исправил просто указал куда ему редиректить... а второе свое дописал.
Мы малость друг друга не поняли, я спросил про отличие вашего второго решения от этого
Код
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*).html$
RewriteRule ^(.*[^/])$ $1.html [L,R=301]
Результат вроде один.
*

wfedin

  • Завсегдатай
  • 1273
  • 102 / 0
Итак по результатам тестирования вариант предложенный zikkuratvk
Код
RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1.html [R=301,L]
RewriteRule ^(.*)/$ /$1.html [R=301,L]
требует доработки для JComments. Если в настройках компонента выбрать
Вид — Форма добавления комментариев
По умолчанию — Скрыть
то её уже невызвать, просто добавляется в конце url …html#addcomments и ничего не происходит.

А вариант нагугленный работает с JComments но недописывает .html если url со слешем на конце
Код
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*).html$
RewriteRule ^(.*[^/])$ $1.html [L,R=301]
*

eldar2005

  • Захожу иногда
  • 64
  • 0 / 0
Я воспользовался и сделал поправку в файл .htaccess
Код
RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1.html [R=301,L]
RewriteRule ^(.*)/$ /$1.html [R=301,L]

Вопрос: как такие изменение повлияет на дальнейшую работу сайта  , с индексацией его страниц в Яндексе, а также в поисковой выдаче в Яндексе.  Будет хуже или лучше такие изменения?
*

setitle

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Всем привет! сделал тоже так
Код
RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1.html [R=301,L]
RewriteRule ^(.*)/$ /$1.html [R=301,L]
Работает, НО! редиректит на HTTPS. Ранее он у меня был, потом я прописал редирект с https на http. пока так и живу.
Помогла строка
RewriteRule ^(.*)/$ http://мойчайт.ru/$1.html [R=301,L]
т.е. конкретно указал, что на httP редирект.
Может знаете почему по умолчанию редиректит на S? При отключении поддержки SSL на сервере, редирект все равно на S кидает по умолчанию
*

dmitry_stas

  • Легенда
  • 13152
  • 1232 / 8
это у вас скорее всего в браузере кеш. браузер запоминает https как предпочитаемый протокол, и старается всегда на него переводить.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

setitle

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
это у вас скорее всего в браузере кеш. браузер запоминает https как предпочитаемый протокол, и старается всегда на него переводить.
кэш не причем. если конкретно сайт httP указываю, то работает сразу. Если убираю (пишу как выше код), то на HTTPS скидывает
Код
RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* http://consulsib.ru%1.html [R=301,L]
RewriteRule ^(.*)/$ http://consulsib.ru/$1.html [R=301,L]
вот весь файл вообще
Код
Options +FollowSymLinks
RewriteEngine On

RewriteCond %{SERVER_PORT} ^443$ [OR]
RewriteCond %{HTTPS} =on
RewriteRule ^(.*)$ http://consulsib.ru/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www.consulsib\.ru$ [NC]
RewriteRule ^(.*)$ http://consulsib.ru/$1 [R=301,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://consulsib.ru/ [R=301,L]

RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* http://consulsib.ru%1.html [R=301,L]
RewriteRule ^(.*)/$ http://consulsib.ru/$1.html [R=301,L]

php_value date.timezone Asia/Krasnoyarsk


########## Begin - Joomla! core SEF Section
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
#
########## End - Joomla! core SEF Section
*

dmitry_stas

  • Легенда
  • 13152
  • 1232 / 8
кэш не причем. если конкретно сайт httP указываю, то работает сразу. Если убираю (пишу как выше код), то на HTTPS скидывает
кеш 99%
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как сделать правильный редирект

Автор gadjet

Ответов: 23
Просмотров: 10657
Последний ответ 17.01.2021, 18:00:11
от Vasiliy111
Не дело это - закрывать от индексации страницы с пагинацией

Автор ChaosHead

Ответов: 47
Просмотров: 9352
Последний ответ 07.11.2020, 17:50:27
от stimyl
Скорость загрузки страницы

Автор creative3d

Ответов: 6
Просмотров: 503
Последний ответ 15.03.2020, 19:26:25
от creative3d
htaccess редирект с страницы на страницу только для поисковых ботов

Автор wishlight

Ответов: 1
Просмотров: 955
Последний ответ 13.11.2019, 18:28:35
от voland
Как сделать правильно меню в разделе?

Автор specifika

Ответов: 0
Просмотров: 455
Последний ответ 29.07.2019, 09:24:11
от specifika