Как через RewriteRule передать параметры одного скрипта другому?

K
На сайте с 23.10.2004
Offline
159
1116

В .htaccess

есть строки:


RewriteRule ^cart\.php\?add=([0-9]+)$ index.php?type=cart&add=$1 [NC,L]
RewriteRule ^cart\.php$ index.php?type=cart [NC,L]

2-я строка работает (для урла сайт/cart.php)

А вот 1-я строка не работает (сайт/cart.php?add=558), т.к. echo $_GET['add']; ничего не выводит :(

Где ошибка?

LEOnidUKG
На сайте с 25.11.2006
Online
1774
#1

Что за бред выкидывать из урла переменные?

Зачем вооообще ?type=cart в урле оригинале?

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
K
На сайте с 23.10.2004
Offline
159
#2
LEOnidUKG:
Что за бред выкидывать из урла переменные?

что Вы имеете ввиду?

LEOnidUKG:
Зачем вооообще ?type=cart в урле оригинале?

чтобы корзина и добавление в нее товаров было в том же файле, в котором и все остальное

M
На сайте с 17.04.2008
Offline
88
MBo
#3

RewriteCond %{QUERY_STRING} add=([0-9]+)$

RewriteRule ^cart\.php$ index.php?type=cart [QSA,L]

RewriteRule ^cart\.php$ index.php?type=cart [NC,L]

ещё вариант

RewriteRule ^cart\.php$ index.php?type=cart [QSA,L]

или

RewriteRule cart\.php index.php?%{QUERY_STRING}&type=cart [NC,L]

в последних двух случаях, возможно, придётся в скрипте фильтровать $_GET['add'] на наличие только цифр.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий