Ошибка внутреннего сервера CodeIgniter PHP Apache 500

Я сделал проект в CodeIgniter. Он отлично работает на моем локальном хосте, но дает «500 Internal Server Error» на удаленном сервере. Это мое .htaccess содержимое файла:

 RewriteEngine On RewriteBase /ezgov RewriteCond %{REQUEST_URI} ^system.* RewriteRule ^(.*)$ /index.php/$1 [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] 

Откройте httpd.conf, как правило, в каталоге установки Apache в окнах

/apache/conf/httpd.conf

а также

/etc/httpd/httpd.conf

в системах на базе Unix. httpd.conf – это файл конфигурации Apache, в котором хранится различная информация о сервере.

Найдите модуль mod_rewrite.so или ( mod_rewrite.c в редких случаях). Модуль mod_rewrite разработан для перезаписи запрошенных URL-адресов на лету. Большую часть времени вы найдете в прокомментированном состоянии.

#LoadModule rewrite_module modules/mod_rewrite.*

Здесь # символ означает, что он прокомментирован или отключен.

LoadModule rewrite_module modules/mod_rewrite.*

Удалите # и перезапустите Apache Http Server, используя команду apache -k restart в Windows или service httpd restart в Unix-системах. Вы также используете пользовательский интерфейс XAMPP / Wamp для перезапуска Apache в системах Windows.

Затем создайте файл .htaccess в корневом каталоге, где находится проект CodeIgniter, и вставьте следующий код

 # index file can be index.php, home.php, default.php etc. DirectoryIndex index.php # Rewrite engine RewriteEngine On # condition with escaping special chars RewriteCond $1 !^(index\.php|robots\.txt|favicon\.ico) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ ./index.php/$1 [L,QSA] 

Далее Найдите файл конфигурации CodeIgniter, обычно расположенный в его каталоге конфигурации.

./application/config/config.php

Откройте файл и $config['index_page'] значение $config['index_page'] пустым. который выглядит так

 /* |-------------------------------------------------------------------------- | Index File |-------------------------------------------------------------------------- | | Typically this will be your index.php file, unless you've renamed it to | something else. If you are using mod_rewrite to remove the page set this | variable so that it is blank. | */ $config['index_page'] = ''; 

Теперь история окончена. Все должно работать нормально. Вы можете найти дополнительную информацию о httpd.config на модуле Apache mod_rewrite . Надеюсь, это поможет вам. Благодаря!!

Проводя это, на всякий случай это помогает кому-то …

Другие ответы на этот вопрос предполагают, что у вас есть доступ к файлам конфигурации apache. Но если вы находитесь на общей платформе хостинга и не имеете доступа к каталогам, отличным от тех, где вы должны размещать свои файлы: трюк заключался в том, чтобы заставить php выбросить все ошибки, даже если apache не смог.

Откройте «index.php», который находится в корневой папке вашей установки codeigniter;

 /*switch to development environment*/ define('ENVIRONMENT', 'development'); if (defined('ENVIRONMENT')) { switch (ENVIRONMENT) { case 'development': error_reporting(E_ALL); /*added line below*/ ini_set('display_errors', '1'); break; ...... 

Выполнение вышеуказанного изменения сразу же начало показывать, что не так с кодом, и я смог его исправить и запустить и запустить.

Не забудьте установить свою среду codeigniter в «production», как только вы ее исправите.

Вероятно, причина объясняется в error_log. Есть ли error_log в корневом каталоге веб-сайта? Есть ли папка журналов где-то еще? Причина будет подробно описана там.

попробуйте это:

 RewriteEngine on RewriteCond $1 !^(index\.php|public|\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?$1 

Вероятно, у вас проблемы с файлом htaccess . Это помогло мне.

Я решил эту ошибку.

Мне было присвоено другое имя базы данных, я изменил следующие шаги:

  1. Я создал базу данных на сервере, используя cpanel
  2. Я создал пользователя
  3. Я назначил ранее созданную базу данных пользователю
  4. Я изменил настройки базы данных с именем пользователя и именем db и т. Д.