Как исключить значение из URL при помощи .htaccess (WP)

Тема в разделе "Тех. вопросы", создана пользователем Abuza, 28 дек 2009.

Статус темы:
Закрыта.
  1. Abuza

    Abuza

    Регистр.:
    7 май 2007
    Сообщения:
    177
    Симпатии:
    5
    Здравствуйте,

    Интересует как правильно сделать исключение в .htaccess для корректного отображения необходимых урл.

    Сайт на wordpress и необходимо было избавится от символов и дублированных страниц, которые отображаются по урл типа site.com/?xxxx или site.com/page/2/?.xxx

    Для этого решения прописал

    rewritecond %{query_string} .
    RewriteRule ^(.*)$ http://www.site.com/blog/$1? [R=301,L]

    тоесть, чтоб перекидывало на морду, если встретятся такие страницы,
    НО на блоге есть поиск, который должен работать. При таком раскладе результат поиска возвращается на морду без вывода.

    Как сделать правило, которое будет исключать из редиректа любые запросы сделанные через форму поиска, типа site.com/?s=query.

    Спасибо.
     
  2. tank_2

    tank_2 Постоялец

    Регистр.:
    24 апр 2009
    Сообщения:
    55
    Симпатии:
    21
    в настройках WP прописать ЧПУ не по умолчанию как у вас очевидно стоит, а /%postname%/ установить плагин алтурус, исправить метки записей (не мета теги а ярлыки) и категорий, вернуть в .htaccess в первоначальное состояние и не баловаться)). Могу подробнее если в личку отпишите.
     
  3. Abuza

    Abuza

    Регистр.:
    7 май 2007
    Сообщения:
    177
    Симпатии:
    5
    Урл прописаны кустомайз. Напишите что это за плагин алтурус (точное название), т.к. не смог найти его.
    Посмотрев все блоги WP почти у всех при запросе site.com/?xxx отдает 200OK, что является не совсем правильно. Решением я вижу 301 редирект, но если необходим чтоб работал поиск на блоге, то для него надо исключение.


     
  4. sergwm

    sergwm Создатель

    Регистр.:
    16 авг 2007
    Сообщения:
    39
    Симпатии:
    6
    в первой строке нада вместо . (все) прописать (!s=.*)
    RewriteCond %{query_string} !s=.*
    RewriteRule ^(.*)$ http://www.site.com/blog/$1? [R=301,L]

    и ксатати это сосвем не на морду отредиректит http://www.site.com/blog/$1?
    на морду нада просто без подстановок
    http://www.site.com/blog/?
     
Статус темы:
Закрыта.