2016-09-08 3 views
0

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

Я искал такие же ситуации в Интернете, но я не могу найти решение.

Вот файл .htaccess

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase /schoolportal 
    RewriteCond %{REQUEST_URI} ^system.* 
    RewriteRule ^(.*)$ /index.php/$1 [L] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond $1 !^(index\.php|images|robots\.txt|css) 
    RewriteRule ^(.*)$ index.php/$1 [L] 
</IfModule> 

<IfModule !mod_rewrite.c> 
    ErrorDocument 404 /index.php 
</IfModule> 

При попытке удалить RewriteBase или изменить его просто «/», я получаю 404 не найдена ошибка.

Вот конфигурационный файл:

$config['base_url'] = 'http://sctportal.org/'; 
$config['index_page'] = ''; 
$config['uri_protocol'] = 'REQUEST_URI'; 

И файл маршрута:

$route['default_controller'] = 'SchoolPortal'; 
$route['404_override'] = ''; 
$route['translate_uri_dashes'] = FALSE; 
+0

Сначала вам нужно убедиться, что мода перезаписи включена? –

+0

Как узнать, разрешено ли его? – aronccs

+0

Использовать phpinfo(); функция и поиск переписывают –

ответ

0

сделать некоторые настройки в config.php:

$config['uri_protocol'] = "REQUEST_URI"; 

Еще одна вещь, если вы используете Linux Server, поэтому внесение этих изменений является обязательным.

1) Название вашего класса должно начинаться с буквы Capital. I. cat должно быть Cat.

2) Сохраните класс контроллера с помощью Capital Letter i.e cat.php должно быть Cat.php.

+0

также упоминает версии – devpro

+0

Я все это сделал, по-прежнему та же ошибка – aronccs

+0

Вы загружаете его в основной каталог или подкаталог, и еще одна вещь - это сервер Linux? – Noman

0

Можете ли вы обновить вы .htaccess к ниже

RewriteEngine on 
RewriteCond $1 !^(index\.php|resources|robots\.txt) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L,QSA] d 

И вы, пожалуйста, проверьте вы base_url в конфигурационном файле, как

$root = "http://".$_SERVER['HTTP_HOST']; 
$root .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']); 
$config['base_url'] = "$root"; 

/* 
|-------------------------------------------------------------------------- 
| 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'] = 'index.php'; 

Удалите index.php из

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

, если вы не хотите, чтобы index.php в вашем URL-адресе

+0

Он просто дал мне ошибку 404 Page Not Found – aronccs

+0

, пожалуйста, обновите свой файл конфигурации вместе с файлом маршрута. Итак, мы посмотрим. –

+0

Done, вопрос был обновлен – aronccs

Смежные вопросы