Я загрузил PHP-скрипт, написанный с помощью CodeIgniter. когда я запускаю его из локального хоста, идя в папку администратора, он снова показывает localhost. Также при запуске с моего веб-хоста он показывает 500 Внутреннюю ошибку сервера.
Я запускаю сайт с http: // localhost / myproj. Он работает. Затем, когда я пытаюсь перейти на страницу администратора, которая находится по адресу http: // localhost / myproj / administrator , она дает 500 внутренних ошибок сервера.
Я читал здесь, что это может быть связано с неправильным кодом в файле .htaccess. Это мой настоящий файл .htaccess
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)/$ $1 [L,R=301] RewriteCond %{REQUEST_URI} ^system.* RewriteRule ^(.*)$ /index.php/$1 [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php/$1 [L]
# Without mod_rewrite, route 404's to the front controller ErrorDocument 404 /index.php
Пожалуйста, помогите мне. Я знаю, что это может быть очень маленькая проблема, но я не могу найти ошибку.
Проблема с 500 ошибками (с CodeIgniter), с различными настройками apache, отображает 500 ошибок при возникновении ошибки с настройкой PHP.
Вот как это может вызвать ошибку 500 с помощью CodeIgniter:
Пожалуйста, проверьте свои журналы ошибок apache, там должна быть какая-то интересная информация.
Вы пытаетесь удалить index.php с URL вашего сайта, правильно?
Попробуйте настроить $config['uri_protocol']
на REQUEST_URI
вместо AUTO
.
На всякий случай кто-то другой сталкивается с этой проблемой, я унаследовал старый проект CodeIgniter и испытывал большие проблемы с его установкой.
Я потратил немало времени на попытку создать локальную установку сайта и попробовал все. В конце концов, решение было простым.
Проблема в том, что старые версии CodeIgniter (например, 1.7 и ниже) не работают с PHP 5.3. Решение состоит в том, чтобы перейти на PHP 5.2 или что-то более старое.
удалить комментарий в httpd.conf (файл конфигурации apache):
LoadModule rewrite_module modules/mod_rewrite.so
Всякий раз, когда я запускаю CodeIgniter в подкаталоге, я устанавливаю ему RewriteBase
. Попробуйте установить его как /myproj/
вместо /
.
Это, вероятно, больше не относится к этой теме, но, надеюсь, полезно кому-то. У меня было 500 ошибок за последний час, так как у меня был контроллер, возвращающий массив, не поддерживаемый версией php, на моем (дерьмовом) сервере. Кажется тривиальным, но имеет отличительные черты ошибки codeigniter.
Мне пришлось использовать:
class emck_model extends CI_Model { public function getTiles(){ return array(...); } }
Вместо
class emck_model extends CI_Model { public function getTiles(){ return [...]; } }
ура
Я знаю, что опаздываю, но это поможет кому-то.
Проверьте, включен ли перезаписываемый движок.
Если нет, включите перезагрузку и перезапустите сервер.
sudo a2enmod rewrite sudo service apache2 restart
если Theamperver Version 2.5 изменит конфигурацию apache как
httpd.conf (файл конфигурации apache): From
#LoadModule rewrite_module modules/mod_rewrite.so**
Чтобы удалить #
LoadModule rewrite_module modules/mod_rewrite.so**
это работает отлично для меня