@lexstile

Редирект со слеша на без слеша у get-параметров?

Есть страницы вида site.ru/?id=100
В Поиск попали страницы вида site.ru/?id=100/
Вопрос:
Как сделать редирект со страниц со слешем на без?
Сейчас использую:
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteRule ^(.*[^\/])$ /$1/ [R=301,L]
  • Вопрос задан
  • 621 просмотр
Решения вопроса 1
shambler81
@shambler81 Куратор тега htaccess
get не является частью урла, {REQUEST_URI} банально не к нему.

# 301 --- http://www.mydefile.ru/company/?section=torgovlya&PAGEN_1=9 => http://www.mydefile.ru/about/
RewriteCond %{QUERY_STRING} (^|&)section=torgovlya($|&)
RewriteCond %{QUERY_STRING} (^|&)PAGEN_1=9($|&)
RewriteRule ^company/$ /about/? [L,R=301]


Обратите внимание на ? в конце реврайт рула, он удалит сам гет.
Так же если вам нужно будет сделать редирект НА страницу с GET, не забывайте его экранировать
RewriteRule ^company/$ /about/\?=тут_гет_если_он_будет_нужен&уже_экранировать_не_надо[L,R=301]

Не забудьте поставить решено
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы