2017-05-21 2 views
1

Ich habe ein Problem. In der Entwicklung benutze ich PHP 7 und meine Website funktioniert gut. Aber in der Produktion mit PHP 5.4 und ich habe Probleme beim Entfernen von index.php. Meine Website gehostet in Unterordner wie myhost/mywebsitefolder.Entfernen Sie index.php in Code-Zünder für Unterordner

Das Problem liegt bei der Verwendung der URL-Funktion. Beispiel: Wenn ich auf die "Dashboard" -Seite klicke, wird auf die "Login" -Seite umgeleitet und die URL ist wie myhost/mywebsitefolder/login und die 404-Seite wird nicht gefunden. Wenn ich index.php vor dem Login (myhost/mywebsitefolder/index.php/login) hinzufüge, funktioniert es gut, aber ich muss alle meine URL durch das Hinzufügen von index.php ersetzen. Gibt es eine Lösung? Mein .htaccess ist genau so.

RewriteEngine on 
RewriteBase /mywebsitefolder/ 
RewriteCond $1 !^(index.php|resources|gallery|json|slider|robots.txt) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L,QSA] 
+0

Versuchen Sie mit dem Hinzufügen von Fragezeichen in Zeile 'RewriteRule^$ index .php?/$ 1 [L, QSA] '. – Tpojka

Antwort

1

Versuchen mit einem Schrägstrich, bevor die Punkte, wie:

DirectoryIndex index.php 

<IfModule mod_rewrite.c> 

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

</IfModule> 

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

Und in application/config/config.php und deaktivieren Sie die Indexseite Konfigurationswert:

// Old 
$config['index_page'] = "index.php"; 

// New 
$config['index_page'] = ""; 

Manchmal müssen Sie das Umschreibe-Modul aktivieren, führen Sie "apache2 enable modul rewrite" aus:

sudo a2enmod rewrite 

Sie müssen den Webserver neu zu starten, damit die Änderungen wirksam:

sudo service apache2 restart 

Hoffe, es funktioniert!

Wenn nein, gibt es andere Threads mit dem gleichen Problem ist, können Sie einen Blick: (. *) - Remove index.php from codeigniter in subfolder - - Remove index.php from Codeigniter URL in subfolder with Wordpress in root Using htaccess to remove codeigniter index.php in a subdirectory

+0

Danke, das Problem ist in meinem Apache-Modul denke ich –

Verwandte Themen