Я пытаюсь добавить параметр в свой url через файл .htaccess. У меня есть 5 параметров, 3 int, 1 float (например, 3.5) и строка.htaccess с различными параметрами
С 4 параметрами, без строки, он работает хорошо; но если я попытаюсь добавить пятый параметр, переменная get из этого принимает десятичную часть четвертого параметра (float).
Я не понимаю, почему. Это Htaccess строка с 4 параметрами:
RewriteRule sedi/([0-9]+)/ripetizioni/filtra/([0-9]+)&([0-9]+)&([0-9](.[0-9])?)$ tutor.php?id=$1&p=$2&z=$3&v=$4 [L]
Вместо этого, когда я добавить пятый параметр, линия становится:
RewriteRule sedi/([0-9]+)/ripetizioni/filtra/([0-9]+)&([0-9]+)&([0-9](.[0-9])?)&([A-Za-z0-9-]+)$ tutor.php?id=$1&p=$2&z=$3&v=$4&search=$5 [L]
Например, если поиск был «математика» и V был 3.5
, то URL принимает правильно, но переменные прибудет поиск занимает .5
Почему вы разбиваете свой поплавок на 2 переменные? – jeroen
@jeroen переменная float не разделяется. Это может быть единственная переменная с необязательной десятичной частью. – hteo
Поскольку вы используете скобки, вы фиксируете значение, если оно есть в пятом параметре. Вы должны использовать не захватывающие скобки или просто '[. \ D]' для всего числа. – jeroen