Проблема с CodeIgniter и URI на серверах GoDaddy

Я не могу заставить 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? 

Как я могу правильно настроить эту настройку?

шаг 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“; 

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

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

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

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

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

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

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

К этому:

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