Иногда простыми и шаблонными методами не обойтись, поэтому в данной статье я предложу несколько интересных перенаправлений.
Часто мы сталкиваемся с CMS которые генерируют неЧПУ урлы.. в таком случае, обойтись обычным 301 редиректом вида
Redirect 301: /old-page/ http://site.by/new-page/ — не получится, что же делать если у нас урл с параметром, например site.by/katalog?=qdh1&kkdjsk ?
301 редирект урла с Get параметром
настроить редирект с GET парамером на новый урл
RewriteCond %{REQUEST_URI} ^/component/virtuemart/$ — урл до параметра
RewriteCond %{QUERY_STRING} ^page=shop.browse&category_id=12 — то, что после параметра (вместо ?= ставится ^)
RewriteRule ^.*$ /arenda-gruzovogo-avto.html? [R=301,L] — новый урл.
без сохранения GET параметра (нужно пробовать в отдельном случае)
RewriteCond %{REQUEST_URI} ^/component/virtuemart/$
RewriteCond %{QUERY_STRING} ^page=shop.browse&category_id=12
RewriteRule ^.*$ /arenda-gruzovogo-avto.html [R=301,L] — убираем в конце знак «?»
Пример редиректа урла с параметром на новый урл
Пример 1:
Всем знакомая ситуация, когда при возврате по пагинации на первую страницу, мы получаем не основные новости, а дубль вида — site.ru/news.html?p=1
Что делаем в таком случае:
RewriteCond %{REQUEST_URI} ^/news.html$
RewriteCond %{QUERY_STRING} ^p=1
RewriteRule ^.*$ /news.html [R=301,L]
Аналогичный пример 2:
RewriteCond %{REQUEST_URI} ^/tovary/holodilniki$
RewriteCond %{QUERY_STRING} ^page=0
RewriteRule ^.*$ /tovary/holodilniki [R=301,L]
Следующая статья: редирект урлов с .html в конце (перейти)
Крутая статья, спасибо!
Можно вставки с кодом сделать более читаемыми? Очень крупный шрифт, из-за чего все смешивается в одну кучу
согласен, есть такое, извините за неудобство…
постараюсь поправить в скором времени!
Что за огромный не читабельный шрифт
Извините за неудобство. Не дошли руки, блогом не занимаюсь…
Надеюсь, что Вам помогла статья, несмотря на нечитабельный шрифт 🙂
спс
спасибо, помогли. плюс в карму