Функции контроллеров CodeIgniter не работают - PullRequest
0 голосов
/ 16 декабря 2011

Я развернул свой сайт на VPN-сервере. Я могу получить доступ к конструктору контроллера, но когда я пытаюсь вызвать любой метод, например mydomain/controller/method, он не работает. Однако «mydomain / controller / index» также не работает.

Когда я отлаживаю с помощью php-метода function_exists('my function name'), он также становится ложным, даже если этот метод существует в моем контроллере.

Пожалуйста, помогите с этой проблемой, и дайте мне знать, если я должен сделать какие-либо изменения конфигурации.

Спасибо!

1 Ответ

5 голосов
/ 16 декабря 2011

Вам нужно будет перейти к http://mydomain/index.php/controller/method

... если у вас нет файла .htaccess в корне, где index.php - это исключение index.php из URL.

Если этот файл .htaccess настроен правильно, вы сможете перейти к http://mydomain/controller/method

Вот пример файла .htaccess для codeigniter, который я использую для отладки.

php_flag display_errors on 
php_value error_reporting 7 
RewriteEngine on 
RewriteCond $1 !^(index\.php|images|css|robots\.txt) 
RewriteRule ^(.*)$ /index.php/$1 [L]

скопируйте весь этот текст в файл с именем .htaccess и поместите его там, где index.php находится в корневом каталоге codeigniter.

///////////////// Редактировать на основе дополнительной информации от OP ///////////////// /

Первый тест, чтобы увидеть, работает ли следующее ..

Если вы не удалили его, CI по умолчанию предоставляет вам контроллер приветствия (/application/controllers/welcome.php) и представление приветствия, которое вызывается контроллером (/application/views/welcome_message.php).

Посмотрите, есть ли эти файлы, и не получили ли они их из zip-файла в среде codeigniter и поместили в эти каталоги.

перейдите в папку конфигурации и откройте routes.php (/application/config/routes.php) и в поле reserved routes введите $route['default_controller'] = "welcome";, если его там еще нет.

Кроме того, убедитесь, что вы изменили конфигурацию, чтобы отразить тот факт, что вы используете файл .htaccess.

свойство должно быть установлено следующим образом в config.php $config['index_page'] = '';

Обратите внимание, что если вы не используете .htaccess, это будет установлено на $config['index_page'] = 'index.php';

Эти инструкции направлены на то, чтобы вы увидели что-то на странице. Вы бы сменили контроллер по умолчанию на свой контроллер (не приветствуется), когда начнете работать с вышеуказанным.

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