URL перекодируется? - PullRequest
       0

URL перекодируется?

0 голосов
/ 31 января 2019

У меня есть несколько ссылок, которые выглядят следующим образом:

https://www.example.com/find?category=food%20%26%20drink

Нажав на ссылку, вы попадете на страницу, где я могу получить переменную, и она ДОЛЖНА прочитать "food & drink ".

Однако, когда я нажимаю на ссылку, вместо этого я перехожу на этот URL:

https://www.example.com/find?category=food%2520%2526%2520drink

переменная гласит: food% 20%26% 20 выпить.

Если я вставлю первый URL-адрес непосредственно в строку поиска, он будет работать нормально.Но если я нажимаю на него как на ссылку, то он каким-то образом перекодируется.

Есть идеи, как заставить его читать "еда и питье", даже если оно пришло с другой страницы?

большое спасибо заранее!

Ответы [ 2 ]

0 голосов
/ 31 января 2019

понял, что ссылки были записаны как http вместо https.Следовательно, они были переписаны файлом htaccess в https при нажатии, а также перекодированы одновременно.

0 голосов
/ 31 января 2019

Ссылка у вас в двойном коде.Возможное решение этого было бы

  1. Найти строку кода, где ссылка снова кодируется, и заставить suer не кодировать, если она уже закодирована.Здесь приведены несколько примеров Нажмите здесь
  2. Если вы не можете изменить форму кода, где генерируется URL-адрес, вам придется дважды использовать urldecode для разбораurl params
<?php
$query = "https://www.example.com/find?category=food%2520%2526%2520drink";

    $param = explode("=", $query);

    print_r(urldecode(urldecode($param[1])));
?>

Надеюсь, это поможет!

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