[Помощь] Передача данных GET через mod_rewrite

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем The_Wolf, 26 дек 2013.

  1. The_Wolf

    The_Wolf

    Регистр.:
    21 окт 2013
    Сообщения:
    339
    Симпатии:
    189
    Привет всем!
    Я хочу сделать передать данные GET:
    вот таком виде : http://site.ru/shop/affiliate/1&aff=2
    написал на .htaccess :
    Код:
    RewriteEngine On
    RewriteRule ^affiliate/([a-z0-9]+)$ affiliate.php?good=$1 [L]
    если не написать aff=2 на url всё работает , если написать дает ошибку .
    ПОМОГИТЕ ПОЖАЛУЙСТА !
     
  2. Viodele

    Viodele Механик

    Administrator
    Регистр.:
    17 дек 2011
    Сообщения:
    113
    Симпатии:
    484
    При использовании архитектуры ^affiliate/([a-z0-9]+)$ - значение query должно точно совпадать с заданной маской, так как знак ^ - указывает на начало паттерна, а $ - на его окончание. Иными словами, любой паттерн, который начинается на ^ и кончается на $ - будет требовать точного совпадения. Как вариант, попробуй снять ограничение по окончанию паттерна, добавив описание произвольного окончания.

    Код:
    RewriteEngine On
    RewriteRule ^affiliate/([a-z0-9]+).*$ affiliate.php?good=$1 [L]
     
  3. The_Wolf

    The_Wolf

    Регистр.:
    21 окт 2013
    Сообщения:
    339
    Симпатии:
    189
    aff=2 не работает
     
  4. Viodele

    Viodele Механик

    Administrator
    Регистр.:
    17 дек 2011
    Сообщения:
    113
    Симпатии:
    484
    А, ну да... там еще shop в линке
    Код:
    RewriteEngine On
    RewriteRule ^shop/affiliate/([a-z0-9]+) affiliate.php?good=$1 [NC,L]
    В таком варианте у меня в $_GET попадает good.
     
  5. The_Wolf

    The_Wolf

    Регистр.:
    21 окт 2013
    Сообщения:
    339
    Симпатии:
    189
    файл .htaccess будет в папке shop
     
  6. antiterror

    antiterror xProgramming

    Регистр.:
    22 авг 2007
    Сообщения:
    344
    Симпатии:
    135
    зависит где у вас установлен скрипт, если в папке shop то .htaccess как выше говорили кидаете в папку, если нет то в коренть

    Код:
    RewriteEngine On
    RewriteBase /
    RewriteRule ^shop/affiliate/([0-9]+)/([0-9]+)(/?)+$ affiliate.php?good=$1&aff=$2 [L]
    Код:
    RewriteEngine On
    RewriteBase /shop/
    RewriteRule ^affiliate/([0-9]+)/([0-9]+)(/?)+$ affiliate.php?good=$1&aff=$2 [L]
    результат должен быть таким
    site.ru/shop/affiliate/1/2
     
    Последнее редактирование модератором: 26 дек 2013
    The_Wolf нравится это.
  7. lonejan

    lonejan Постоялец

    Регистр.:
    7 фев 2008
    Сообщения:
    110
    Симпатии:
    10
    Не знаю, зачем вы так мучаетесь, вот создал отдельную темку, где выложил свою заготовку по работе с ЧПУ. Управление передается в PHP скрипт, там можете вытягивать из URL, что хотите.

    https://www.nulled.cc/threads/248001/