Проблема с CodeIgniter и URI на серверах GoDaddy - PullRequest
0 голосов
/ 20 апреля 2011

Я не могу правильно настроить CodeIgniter на GoDaddy. Я попытался создать новую функцию внутри контроллера wecome. Но я нигде не могу получить к нему доступ.

http://domain.com/test   (No response) <- why doesn't this work
http://domain.com/index.php/welcome/test   (No response) <- why doesn't this work

И просто для того, чтобы дать вам представление о том, как разрешается страница приветствия по умолчанию:

http://domain.com/   (resolves to welcome page aka 'index' function)
http://domain.com/index.php/   (resolves to welcome page aka 'index' function)
http://domain.com/index.php/welcome   (No response) <- why doesn't this work?
http://domain.com/index.php/welcome/index (No response) <-why doesn't this work?

Как мне правильно настроить это?

Ответы [ 4 ]

5 голосов
/ 21 апреля 2011

шаг 1. в вашем файле .htaccess в корневом каталоге установите следующее:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond %{HTTP_HOST} ^mydomain.com [NC]
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [L,R=301]

шаг 2. откройте файл /system/application/config/config.php и убедитесь, что установлены следующие две опции.

$config['index_page'] = “”;
$config['uri_protocol'] = “AUTO“;

надеюсь, что это помогло.

1 голос
/ 20 апреля 2011

Возможные места, где вы можете найти эту проблему: файл .htaccess (никогда не использовал godaddy, но я видел другие, имеющие другие правила .htaccess для этой хостинговой компании), затем ваш файл application / config / config.phpи uri_protocol, поэкспериментируйте с этим (есть несколько значений, которые вы можете передать), также в зависимости от вашей версии CI вы можете попробовать расширить классы CI_URI или CI_Router, чтобы вставить свою логику куда-то вперед, но, как я сказал, это будет сильно зависетьв используемой вами версии CI с 1.7 до 2.0.2 они внесли несколько изменений в эти классы, отвечающие за маршрутизацию и сопоставление URI, и, если вы не можете найти решение, вернитесь и отправьте дополнительную информацию.

0 голосов
/ 31 января 2013

Для этого откройте файл application / config / config.php и измените его:

$config['index_page'] = "index.php";

На это:

$config['index_page'] = "index.php?";
0 голосов
/ 20 апреля 2011

Попробуйте поставить эту строку:

@ini_set('cgi.fix_pathinfo', 0);

В вашем файле /index.php. Также поиграйте с настройкой URI_PROTOCOL в config.php.

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