У меня есть следующее правило в моем корневом файле.htaccess
RewriteRule ^((?:Paired|Mobile)?Coupon|Raffle)/(\d+)/Image/?$ /product_image.php?type=$1&id=$2 [L,NC]
и следующий код в файле /product_image.php
var_dump([
"REQUEST_URI"=>$_SERVER["REQUEST_URI"],
"QUERY_STRING"=>$_SERVER["QUERY_STRING"]
]);
Когда я прошу/Купон /9/Изображение/я получаю
array(2) {
["REQUEST_URI"]=> string(16) "/Coupon/9/Image/"
["QUERY_STRING"]=> string(16) "type=Coupon&id=9"
}
Когда я запрашиваю /Raffle/2/Image/I get
array(2) {
["REQUEST_URI"]=> string(15) "/Raffle/2/Image/"
["QUERY_STRING"]=> string(16) "type=raffle&id=2"
}
Запрос лотереи query_string всегда имеет строчные значения. В то время как изменения в запросе купона зеркалируются в query_string. Как обеспечить, чтобы запрос был сохранен в query_string?
Моя отладка, прежде чем спрашивать здесь:
Выключает "((?: Парный | мобильный)? Купон | Raffle)/" соответствует папке с именем "лотерея".
Raffle
прописных букв был на 100%? Если нет, что-нибудь еще в вашем файле.htaccess
?