2016-09-08 5 views
0

Dies ist das erste Mal, dass ich ein CodeIgniter-Projekt auf einen Webserver hochlade. Ich habe Probleme, zu anderen Seiten zu gehen, aber der Index() des Standardcontrollers funktioniert.CodeIgniter 500 Interner Server Fehler 7

Ich habe die gleichen Situationen im Internet gesucht, aber ich kann keine Lösung finden. Hier

ist die .htaccess-Datei

<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> 

Wenn ich versuche, die RewriteBase zu entfernen oder zu ändern, nur „/“, ich habe einen 404 Not Found Fehler. Hier

ist die Konfigurationsdatei:

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

und die Route-Datei:

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

Zuerst müssen Sie sicherstellen, dass die Rewrite Mod aktiviert ist. –

+0

Wie kann ich wissen, ob es aktiviert ist? – aronccs

+0

Verwenden Sie phpinfo(); Funktion und Suche umschreiben –

Antwort

0

einige Optimierungen in config.php Sie:

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

Eine weitere Sache, wenn Sie verwenden Linux Server, damit diese Änderungen obligatorisch sind.

1) Ihr Klassenname sollte mit Großbuchstaben beginnen, d. H. cat sollte Cat sein.

2) Speichern Sie die Controller-Klasse mit Großbuchstaben, d. H. cat.php sollte Cat.php sein.

+0

Erwähnen Sie auch die Versionen – devpro

+0

Ich habe all das getan, immer noch den gleichen Fehler – aronccs

+0

Sie laden es in das Hauptverzeichnis oder Unterverzeichnis und eine weitere Sache ist dieser Server ist Linux? – Noman

0

Können Sie bitte aktualisieren Sie unter

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

auf die .htaccess Und Sie bitte überprüfen Sie in der Konfigurationsdatei als

$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'; 

Entfernen Sie die index.php aus dem

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

Wenn Sie nicht möchten, dass die index.php in Ihrer URL

+0

Es gab mir 404 Seite Not Found Fehler – aronccs

+0

können Sie bitte aktualisieren Sie mit der Konfigurationsdatei zusammen mit der Route-Datei. Also schauen wir uns um. –

+0

Fertig, die Frage wurde aktualisiert – aronccs

Verwandte Themen