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

alex_photo

  • Захожу иногда
  • 55
  • 2 / 0
Нужно убрать всю вложенность сайта (с site.ru/ru/catalog на site.ru/catalog), кроме трех адресов (чтобы осталось три адреса, типа site.ru/ru/catalog777)

Как известно, вложенность убирается пунктом 9 из FAQ:
Цитировать
9. Сначала забыли включить SEO в глобальных настройках, а потом включили, как итог - в индексе много документов с /index.php в адресе. Избавиться можно так -
Код
RewriteRule ^index.php/(.*)$ http://mysite.ru/$1 [R=permanent,L]
- по такому же принципу можно избавиться от какой либо вложенности, например редиректить с site.ru/ru/catalog на site.ru/catalog (/ru/ убирается)

А как оставить только три адреса, чтобы они не редиректились?
« Последнее редактирование: 30.06.2013, 23:12:47 от ELLE »
*

ELLE

  • Глобальный модератор
  • 4512
  • 885 / 0
alex_photo, попробуйте добавить перед этой строчкой такую -

Код
RewriteCond %{REQUEST_URI} !^/ru/catalog777.*$

Не проверяла именно в вашей ситуации, но вроде должно работать
*

alex_photo

  • Захожу иногда
  • 55
  • 2 / 0
alex_photo, попробуйте добавить перед этой строчкой такую -
Код
RewriteCond %{REQUEST_URI} !^/ru/catalog777.*$
Да, все работает!
*

gdX

  • Глобальный модератор
  • 995
  • 128 / 0
  • Открыт к заказам по дизайну
RE: Исключения для редиректов в htaccess
« Ответ #3 : 26.06.2014, 14:22:15 »
Схожий вопрос возник.

Есть рабочий сайт site2.ru
Есть новый домен site1.ru, на котором будет новый сайт.

Сейчас рерирект c site1.ru на site2.ru настроен таким образом:
Код
RewriteCond %{HTTP_HOST} ^site1.ru
RewriteRule ^(.*)$ http://www.site2.ru/$1 [R=permanent,L]

Но на новом домене site1.ru есть папки, которые нужно открыть.

Если вставляю код из вышеприведенного примера:
Код
RewriteCond %{HTTP_HOST} ^site1.ru
RewriteCond %{REQUEST_URI} !^/folder.*$
RewriteRule ^(.*)$ http://www.site2.ru/$1 [R=permanent,L]

То почему-то происходит редирект на site2.ru, если прописываю путь site1.ru/folder/

*

gdX

  • Глобальный модератор
  • 995
  • 128 / 0
  • Открыт к заказам по дизайну
RE: Исключения для редиректов в htaccess
« Ответ #4 : 26.06.2014, 14:47:18 »
Разобрался.
Оказывается в панеле управления хостингом было жестко прописано перенаправление.
*

Alona de

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Re: Исключения для редиректов в htaccess
« Ответ #5 : 10.09.2015, 09:25:17 »
Помогите решить вопрос с редиректом пожалуйста!
При добавлении сего кода в .htacccess:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ http://fmd-online.com/$1 [R=301,L]
(Код нужен для удаления слеша со всех страниц сайта в конце строки!)
Перестает работать регистрация на сайте! Регистарция реализована с помощью community builder+profaile pro
При выборе профиля одного из предлагаемых регистрация сбрасывается и не продолжается. Пришлось удалить сей код, однкао теперь вылезут дубли помогите пож, необходимо исключающее правило для http://fmd-online.com/component/comprofiler/registers
Или как ПРАВИЛЬНО настроить?
*

Alona de

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
RE: Исключения для редиректов в htaccess
« Ответ #6 : 10.09.2015, 22:50:35 »
Помогло по аналогии RewriteCond %{REQUEST_URI} !^/component/comprofiler/*$
*

Vasiliy111

  • Захожу иногда
  • 242
  • 5 / 0
RE: Исключения для редиректов в htaccess
« Ответ #7 : 07.07.2018, 22:34:26 »
Здравствуйте! Помогите решить проблему исключения из редирект компонента  JComments

Установлен редирект на окончание .html. То есть перенаправляет со страниц site.ru/article и site.ru/article/ на страницу site.ru/article.html

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

Но с таким кодом не хочет работать компонент JComments

Пробовал добавлять сверху
RewriteCond %{REQUEST_URI} !^/component/.*/$ [NC]
RewriteCond %{REQUEST_FILENAME} !-d

Но не работает
*

Vasiliy111

  • Захожу иногда
  • 242
  • 5 / 0
RE: Исключения для редиректов в htaccess
« Ответ #8 : 24.08.2018, 22:47:52 »
Друзья помогите разобраться.
Нужно сделать редирект со страницы
http://мой-сайт/korzina/view.html
на страницу
http://мой-сайт/korzina.html

Пробовал такой вариант но не работает
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /view\.html\ HTTP/
RewriteRule ^view\.html$ http://мой-сайт/korzina.html/ [R=301,L]
*

dmitry_stas

  • Легенда
  • 12852
  • 1204 / 8
RE: Исключения для редиректов в htaccess
« Ответ #9 : 25.08.2018, 09:00:39 »
Код
RewriteRule ^/korzina/view\.html$ /korzina.html [R=301,L]
но а вообще лучше ссылку исправить, а не редиректы настраивать
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Vasiliy111

  • Захожу иногда
  • 242
  • 5 / 0
RE: Исключения для редиректов в htaccess
« Ответ #10 : 27.08.2018, 23:19:37 »
RewriteRule ^/korzina/view\.html$ /korzina.html [R=301,L]
Извините но данный вариант не работает
*

7949701

  • Новичок
  • 14
  • 0 / 0
RE: Исключения для редиректов в htaccess
« Ответ #11 : 07.09.2018, 22:32:23 »
Здравствуйте! Помогите, пожалуйста, разобраться: стоит переадресация всех HTML на без HTML
Код
RewriteRule (.+)\.html?$ https://site.by/$1 [R=301,L]
но есть файлы с HTML, на которые нужно сделать исключение. Находятся они в папке /mail
Пробовал делать по аналогии, но не работает
Код
RewriteCond %{REQUEST_URI} !^/mail/*$
RewriteRule (.+)\.html?$ https://site.by/$1 [R=301,L]
Может еще какие правила есть на такие исключения?

Обновлено:
Спустя время и перепробовав 100500 способов, понял, что ничего не меняется. Нужно чистить кэш в браузере, тогда будет результат.

Вопрос решился так:
Код
RewriteCond %{REQUEST_URI} !^/mail/order.html$
RewriteRule (.+)\.html?$ https://site.by/$1 [R=301,L]
« Последнее редактирование: 07.09.2018, 23:09:20 от 7949701 »
*

Vasiliy111

  • Захожу иногда
  • 242
  • 5 / 0
RE: Исключения для редиректов в htaccess
« Ответ #12 : 19.10.2018, 10:42:39 »
Если не работает JComments после редирект на окончание (без и со /) на (.html)

Мне помог такой способ:
RewriteCond %{REQUEST_URI} !^/component/.*/$ [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1.html [R=301,L]

RewriteCond %{REQUEST_URI} !^/component/.*/$ [NC]
RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1.html [R=301,L]
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться