За последние 24 часа нас посетили 17903 программиста и 1286 роботов. Сейчас ищут 1452 программиста ...

Передача спец.символов через аргумент

Тема в разделе "Регулярные выражения", создана пользователем virabhadra, 1 ноя 2007.

  1. virabhadra

    virabhadra Активный пользователь

    С нами с:
    11 дек 2006
    Сообщения:
    127
    Симпатии:
    0
    Адрес:
    Praha, Czech Republic
    Здравствуйте!
    Я постил этот вопрос в программировании на РНР... http://php.ru/forum/viewtopic.php?t=8359

    ... а потом локализовал проблему и понял, что проблема в регулярных выражениях в файле .htaccess

    У меня в файле .htaccess такая запись:

    Код (Text):
    1. RewriteRule  ^search=([^/]*[\w]*)(?:|/page-([\d]+))$    index.php?mode=search&string=$1&page=$2&%{QUERY_STRING}
    Короче говоря, если напрямую записать в ком.строку:
    127.0.0.1/index.php?mode=search&string=*
    или
    127.0.0.1/index.php?mode=search&string=%2A
    то всё нормально - звёздочка нормально передаётся в строку поиска.

    Если через "красивую" строку, то так:
    127.0.0.1/search=* не работает
    127.0.0.1/search=%2A не работает
    127.0.0.1/search=%252A работает

    "Не работает" там означает, что эксплорер пишет, что мол нет доступа.

    Чувствую, что в мод_рерайте не всё гладко, но не соображу как переделать.
    Надо чтобы любые символы передавались через аргумент.