Добавление слеша к конец URL

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем Q_BASIC, 24 янв 2015.

  1. Q_BASIC

    Q_BASIC

    Регистр.:
    30 ноя 2013
    Сообщения:
    352
    Симпатии:
    223
    Есть такой код:
    Код:
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !(.*)/$
    RewriteCond %{REQUEST_URI} !.*admin.*$
    RewriteRule ^([item|news|page|reviews].*[^/])$ $1/ [L,R=301]
    Он добавляет слеши и где надо, и где не надо.

    Мне надо что-бы слеши добавлялись только в URL начинающиеся с:
    /item
    /news
    /page
    /reviews

    Попытался так сделать, всё равно везде добавляются слеши
     
  2. svfolder

    svfolder Постоялец

    Регистр.:
    31 июл 2013
    Сообщения:
    95
    Симпатии:
    39
    RewriteRule ^(item|news|page|reviews)$ /$1/ [R=301,L]
     
  3. Q_BASIC

    Q_BASIC

    Регистр.:
    30 ноя 2013
    Сообщения:
    352
    Симпатии:
    223
    К примеру /item/12sdsd-sd/asd/asd тоже должно редиректить

    А вот
    /direct/1ds8djd/asd/swd
    Не должно
     
  4. svfolder

    svfolder Постоялец

    Регистр.:
    31 июл 2013
    Сообщения:
    95
    Симпатии:
    39
    вам на каждый уровень надо писать отдельное правило!
    одним выстрелом 8 уровней убить, неправильное решение!
     
  5. lag

    lag

    Регистр.:
    13 окт 2014
    Сообщения:
    188
    Симпатии:
    227
    Чуток доработать первый предложенный вариант и будет ок.
    Код:
    RewriteRule ^(item|news|page|reviews)(/.*[^/])?$ /$0/ [R=301,L]
    
     
    Последнее редактирование: 24 янв 2015
    Q_BASIC нравится это.