2012-04-07 3 views
0

У меня есть скрипт php, а кто-то еще генерирует URL-адреса.Некодированные проценты в URL

И этот человек не знал, что символ% должен быть закодирован, поэтому у меня есть проблема, когда apache отказывается от этих запросов. (Bad Request)

Так что мой вопрос, как я преобразовать URL как site.com/search/one два% в действительный site.com/search/one два% 25

Спасибо

ответ

0

Что-то вроде этого может быть полезно?

preg_replace('/%(\D)/', '%25$1'); 

Это должно заменить%, за которым следует что-либо, кроме номера с кодированной версией.

Я отредактирую это сообщение позже, чтобы исключить его, только если после% нет двух чисел, но это может дать представление.

+0

Я думаю, это сработало бы, но как rewrite_url, потому что ссылки уже сформированы, а скрипт не выполнен, потому что apache вызывает плохой запрос. – dZZx

+0

О, хорошо, у вас нет доступа к скрипту перед отправкой запроса. .. Извините, я не знаю, что вы могли бы там сделать в этом случае, кроме попыток изменить сценарий отправки. – Armatus

Смежные вопросы