Как использовать как сегменты URI, так и строки запросов без включения: enable_query_strings - PullRequest
4 голосов
/ 14 июля 2011

В CodeIgniter действительно сложно комбинировать сегменты URI и строки запросов одновременно.Один из традиционных способов добиться этого - включить enable_query_strings.

. Проблема заключается в том, что это ведет к странному поведению и затрагивает также все помощники URL.

Например, когдаиспользуя: redirect('/home') он перенаправляет на domain.com/?/home.

Насколько я знаю, enable_query_strings не предназначен для использования с сегментами URI.

Итак, как расширить ядро, чтобы включитьи GET и URI из коробки?

PS Я знаю, что лучше просто использовать сегменты URI, но иногда очень важно принимать запросы GET как из adwords.

1 Ответ

4 голосов
/ 14 июля 2011

Лучшее решение - это:

  • Убедитесь, что вы используете последнюю версию CI, в настоящее время 2.0.2
  • Забудьте о вводящем в заблуждение enable_query_strings (это не то, чтоВы хотите)
  • Откройте файл конфигурации и установите allow_get_array на TRUE, что позволит вам использовать $_GET
  • Играть с настройкой uri_protocol, пока не найдете тот, которыйработает для вашей среды, PATH_INFO работает для меня.
  • Наслаждайтесь использованием правильных строк запроса!

enable_query_strings нарушает почти всю функциональность, которая делает Codeigniter великолепным, включая все вспомогательные функции, которые работают с URL.Это была некоторая экспериментальная функция, которая путалась с поддержкой обычной строки запроса, пока CI был рядом.

Итог - просто обновите (если вы этого еще не сделали) и не пытайтесь написатьвзломать его.

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