POST десятичных значений к URL вызывает ошибку в Codeigniter - PullRequest
0 голосов
/ 10 октября 2019

Я пытаюсь POST некоторые значения URL-адреса, используя платформу Codeigniter, и я столкнулся с проблемой. Все работает нормально, когда значения в сообщении являются целыми числами, подобными этим:

http://localhost:8080/myController/myMethod/1/2019/12345/
                                                   ------

Однако, когда мне нужно разместить десятичное значение на URL, он возвращает ошибку 404 (Not Found):

http://localhost:8080/myController/myMethod/1/2019/123.45/
                                                   ------

Я не знаю, относится ли это к делу, но недавно я изменил сервер, на котором этот URL выполняет POST. Я не помню, чтобы я сталкивался с этой проблемой до смены сервера, поэтому, возможно, возникла проблема с новым сервером.

Есть идеи, почему я не могу разместить десятичные значения в своем URL?

Ответы [ 2 ]

0 голосов
/ 10 октября 2019

Честно говоря, я не использую Codeigniter почти 6 лет.
Но я знаю, что страница с ошибкой 404 означает, что ваш URL не соответствует ни одному из ваших маршрутов. Если вы используете подстановочный знак (:num) в своих маршрутах, попробуйте заменить его регулярным выражением ([0-9\.]+). Потому что (:num) означает только цифры от 0 до 9.

0 голосов
/ 10 октября 2019

Потому что [точка] будет считаться доменным именем.

Для меня вы можете отправить данные POST с данными формы тела, чтобы вам не приходилось беспокоиться об URL, но если вы все же хотите отправить его с URL, вы можете хэшировать его с символом, который не мешаетфункция URL. например, не используйте /, . и т. д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...