codeigniter запрашивает строку и сегмент вместе

#php #.htaccess #codeigniter

#php #.htaccess #codeigniter

Вопрос:

В моем проекте мне нужна функция строки запроса и функция массива сегментов. Потому что некоторый возвращаемый URL-адрес находится в форме строки запроса. Я внес следующие изменения, но это не сработало.

Мой config.php выглядит так

 $config['base_url'] = '';
$config['uri_protocol'] = 'PATH_INFO';
$config['enable_query_strings'] = TRUE;
  

И мой .htaccess файл

 RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^$ /test/index.php [L] 
RewriteCond $1  !^(index.php|resource|smsprinter|media|Scripts|system|public|upload|flash|css|js|pop-up|images|user_guide|scripts|robots.txt|favicon.ico) 
RewriteRule ^(.*)$ /test/index.php/$1 [L]
  

Есть ли какой-либо способ установить формат строки запроса только на какой-либо конкретной странице? Или есть какой-нибудь способ преодолеть эту проблему?

Комментарии:

1. Какие URL-адреса находятся в этой форме? Внутренние URL-адреса веб-сайта или URL-адреса из других источников (например, URL-адрес Paypal, например.)

2. @Damien Pirsy : dev3.tec.in/test/order /…

3. @Damien Prisy: когда я включу функцию строки запроса, мой URL-адрес будет выглядеть так dev3.dec.in/test/?home/index/book

Ответ №1:

Я нашел решение. В файле htaccess нет chage, но есть некоторые изменения в файле конфигурации. Конфигурационный файл должен быть $config[‘base_url’] = «; $config[‘uri_protocol’] = ‘REQUEST_URI’; $config[‘enable_query_strings’] = FALSE;