2010-11-24 3 views
1

Приветствия,CakePHP кодирование html объектов

У меня возникла странная проблема с данными, отправленными на торт по URL-адресу. Если путь включает в себя объекты, закодированные в кодировке url, кодированные символы, как представляется, будут удалены, а остальная часть пути URL-адреса не будет передана моему контроллеру. Например:

http://mydomain.com/products/search/pants+%26%2A%25+shoes/1/pg-2/

Это должно передать строку pants &*% shoes к search() действия моей продукции контроллера в качестве первого аргумента, с 1 и pg-2 в двух других аргументах. Но вместо этого я просто получаю pants (с конечным пространством) в качестве первого аргумента и второго или третьего аргумента. Я убедился, что класс Sanitize не используется, и у меня есть Configure::write('App.encoding', 'UTF-8');.

Любые мысли?

Благодарности сгустки,

-saturn

Update: Cake видит% 26 в качестве разделителя амперсанд строки запроса аргументов. Должен ли Cake знать разницу между разделителем строки запроса и символом литера? Или я пропущу что-то кровоточащее? (Я работал много часов ...)

Обновление 2: Я думаю, что это может быть ошибка. Если я прохожу URL как:

http://mydomain.com/products/search/?q=pants%20%2A%24%25%5E%26%20shoes&cat=1&pg=2

торт разбирает его правильно, то есть различные аргументы сохраняются в виде строки запроса Params в $this->params['url']. Икота появляется только при использовании кодированного амперсанда в URL-пути.

Кстати, я использую последний Cake 1.3.6.

Мне очень интересно узнать чье-либо мнение по этому поводу. Благодарю.

+1

Я могу подтвердить, что URL-адрес отключен после первого амперсанда. Возможно, лучше всего отправить билет на это. – deceze 2010-11-25 02:03:50

ответ

2

Проверьте эту статью http://www.dracos.co.uk/code/apache-rewrite-problem/ о проблеме RewriteRule.

+0

Да, это он. После немного большего количества тестов я понял, что это, вероятно, проблема с Apache, а не с проблемой Cake. Спасибо за информацию, она очищает все. Приветствия. – Soulriser 2010-11-26 20:18:43

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