RewriteRule и получение GET

Тема в разделе "PHP", создана пользователем rasandrey, 22 янв 2011.

Модераторы: latteo
  1. rasandrey

    rasandrey

    Регистр.:
    2 апр 2009
    Сообщения:
    214
    Симпатии:
    6
    Столкнулся с такой проблемой:

    имеется адрес http://www.домен/index.php?saloni

    прописал в htaccess правило
    Код:
    RewriteRule ^saloni/$ /index.php?saloni [L]
    Теперь адрес выглядит так http://www.домен/saloni/

    На этой странице есть форма, метод передачи get, в action пустое поле <form action="" method="get"> . Так вот по нажатию на кнопку сабмита в форме, получаю адрес http://www.домен/saloni/?region=5&marka=0 . Т.е. параметры get есть.

    Как теперь в php коде вытянуть эти get параметры? Пробую так:
    PHP:
    echo $_GET['region'] ;
    но ничего не выводит, т.к. не могу достать из строки этот параметр. Что делаю не так?

    Добавлено через 46 минут
    пробую вывести содержимое массива $_GET
    PHP:
    print_r ($_GET) ;
    в ответ получаю
    PHP:
    Array ( [saloni] => ) 
    Т.е. параметров region и marka просто нет, хотя в адресной строке они есть http://www.домен/saloni/?region=3&marka=0
     
  2. pitkina

    pitkina

    Регистр.:
    1 апр 2007
    Сообщения:
    253
    Симпатии:
    176
    Код:
    RewriteRule ^saloni/$ /index.php?saloni [L,QSA]
    а по дефолту (без флага QSA) указание query string в RewriteRule стирает GET переменные
     
    rasandrey нравится это.