Как сделать строку запроса, добавленную в htaccess, доступной в приложении codeigniter? - PullRequest
1 голос
/ 14 марта 2011

Я работаю над приложением PHP, использующим CodeIgniter. Приложение будет доступно для людей, которые обращаются к нему через прокси-сервер, который добавит некоторую информацию в строку запроса. Поэтому, если пользователь запрашивает следующее: http://myapplication.com/main/,, прокси автоматически преобразует это в http://myapplication.com/main/?user=userid.

Пожалуйста, не критикуйте меня за этот способ передачи идентификатора пользователя, это запрос клиента сделать это так, а не мой! ;)

Я не очень разбираюсь в CodeIgniter, но знаю достаточно, чтобы знать, что он использует сегменты вместо строки запроса, но я могу изменить его на строку запроса. Дело в том, что я не хочу везде использовать строку запроса.

Дело в том, что я не работаю через этот прокси, поэтому я хочу смоделировать это на своем локальном компьютере. Если я введу вручную в адресной строке: http://localhost/main/?user=12345,, я могу получить его и использовать в своем приложении, используя $ _GET ['user']. Но мне нужен идентификатор пользователя для всех запросов, без необходимости добавлять его вручную. Вот что я сделал в своем .htaccess:

RewriteEngine on
RewriteCond $1 !^(index\.php|_|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1?user=12345 [L]

Мой .htaccess работает нормально, потому что если я напечатал_r ($ _ GET) в моем файле index.php, информация будет там. Но если я попробую то же самое с моего контроллера CI, массив $ _GET будет пустым. Странная вещь, как я уже говорил выше, если я наберу его вручную в строке адреса браузера, информация будет доступна с моего контроллера.

Может ли кто-нибудь помочь мне выяснить, почему моя строка запроса, добавленная в .htaccess, недоступна в моих контроллерах CI?

Спасибо!

1 Ответ

1 голос
/ 14 марта 2011
RewriteRule ^(.*)$ /index.php/?user=12345&$1 [L]

Редактировать: как вы это проверяете?«массивом $ _GET пуст», если да, я предлагаю прочитать Включение $ _GET в codeigniter

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