Wie entferne ich das "index.php"
Herausragen in jedem Pfad im Codeigniter irgendwo in der Mitte? Ich will nicht sauber index.php-fied URLs
?
php
mod-rewrite
codeigniter
url-rewriting
Orangenschale
quelle
quelle
Antworten:
Wenn Sie Apache verwenden, legen Sie eine .htaccess-Datei in Ihrem Root-Webverzeichnis ab, die Folgendes enthält:
Eine weitere gute Version finden Sie hier:
http://snipplr.com/view/5966/codeigniter-htaccess/
quelle
RewriteCond $1 !^\/(index\.php|assets|robots\.txt)
Ich hatte einige große Probleme beim Entfernen der index.php. In der Regel wurde der folgende .htaccess auf mehreren Servern getestet und funktioniert im Allgemeinen:
Wenn Sie damit kein Glück haben, müssen Sie als Nächstes Ihre Konfigurationsdatei anpassen. Probieren Sie einige der anderen URI-Protokolle aus, z
Wenn Sie immer noch kein Glück haben, ändern Sie die Umschreiberegel, um Ihren Unterordner einzuschließen. Dies ist häufig ein Problem, wenn Sie eine temporäre URL auf einem Entwicklungsserver usw. verwenden:
Spielen Sie einfach mit diesen Optionen herum, man sollte arbeiten. Stellen Sie außerdem sicher, dass Ihre Indexdatei auf Folgendes eingestellt ist:
Viel Glück!
quelle
Haben Sie die Datei.htaccess zusammen mit der Datei index.php im Anwendungsstammverzeichnis. (Überprüfen Sie, ob die htaccess-Erweiterung korrekt ist. Bz htaccess.txt hat bei mir nicht funktioniert.)
Fügen Sie der .htaccess-Datei die folgenden Regeln hinzu:
Suchen Sie dann die folgende Zeile in Ihrer Datei application / config / config.php
Setzen Sie die Variable wie folgt leer.
Das war's, es hat bei mir funktioniert.
Wenn es nicht weiter funktioniert, versuchen Sie, die folgende Variable nacheinander durch diese Parameter ('AUTO', 'PATH_INFO', 'QUERY_STRING', 'REQUEST_URI' und 'ORIG_PATH_INFO') zu ersetzen
quelle
Schauen Sie sich die
system\application\config\config.php
Datei an, es gibt eine Variable mit dem Namenindex_page
Es sollte so aussehen
ändere es auf
Dann müssen Sie, wie erwähnt, der
.htaccess
Datei auch eine Umschreiberegel hinzufügenHinweis: In CodeIgniter v2 wurde diese Datei aus dem Systemordner in verschoben
application\config\config.php
quelle
Alle oben genannten Methoden sind für mich fehlgeschlagen, und dann habe ich festgestellt, dass ich AllowOverride None in AllowOverride All in meiner virtuellen Hostdatei unter / etc / apache2 / sites-available / default nicht geändert habe
quelle
quelle
quelle
Ich dachte nur, ich könnte hinzufügen
wäre die .htaccess und stellen Sie sicher, dass Sie Ihre application / config.php-Variable auf folgende Weise bearbeiten:
ersetzen
mit
quelle
Das muss auf jeden Fall funktionieren. Probieren Sie es aus
quelle
Stellen Sie sicher, dass Sie aktiviert haben
mod_rewrite
(ich hatte nicht).Ermöglichen:
Ersetzen Sie auch
AllowOverride None
durchAllowOverride All
Endlich ...
Mein .htaccess ist
quelle
actions
: stackoverflow.com/questions/14419757/…Perfekte Lösung [sowohl auf localhost als auch auf real domain getestet]
quelle
Dies ist ein .htaccess für eines meiner CI-Projekte:
Die letzte Zeile sollte Ihnen das geben, was Sie brauchen, obwohl Sie möglicherweise '/ projectFolder' benötigen oder nicht, je nachdem, wie Ihre Ordnerstruktur eingerichtet ist. Viel Glück!
quelle
Verwenden Sie es
mod_rewrite
wie in diesem Tutorial beschrieben aus dem CI-Wiki.quelle
Als .htaccess-Datei empfiehlt es sich, die vom Kohana Framework bereitgestellte zu verwenden :
Es ist ein gut durchdachter .htaccess, der einfach funktioniert.
quelle
Es gibt zwei Möglichkeiten, index.php im URL-Pfad für Codeigniter zu lösen
1: In config / config.php Code ändern:
zu
2: Erstellen Sie .htacess im Stammpfad, falls nicht erstellt. Kopieren Sie den folgenden Code: -
Speichern Sie es und checken Sie dann Ihre Apache-Konfiguration ein. Rewrite_module ODER mod_rewrite ist aktiviert. Wenn nicht, aktivieren Sie es bitte. (Bester Ansatz)!
quelle
Ich habe dies auf Apache2 auf vielen verschiedenen Hosting getestet und es funktioniert großartig.
Verwenden Sie diesen Zugriff
Stellen Sie sicher, dass Sie
enabled mod_rewirte
mit einemphpinfo();
dann mach das in config / config.php:
Wenn es noch nicht funktioniert, versuchen Sie, die Datei
$config['uri_protocol']='AUTO'
in eine derapplication/config/config.php
in Zeile 40/54 aufgeführten Dateien zu ändern:manchmal habe ich verwendet:
REQUEST_URI
anstelle vonAUTO
oder"QUERY_STRING"
für goDaddy-Hostingsquelle
Schauen Sie in die
\application\config\config.php
Datei, es gibt eine Variable mit dem Namenindex_page
Es sollte so aussehen
ändere es auf
Dann müssen Sie, wie erwähnt, der
.htaccess
Datei auch eine Umschreiberegel wie folgt hinzufügen :Es funktioniert für mich, hoffe du auch.
quelle
Wenn Sie unter Linux arbeiten und den Apache2-Server verwenden, müssen wir möglicherweise die Datei apache2.conf neben den Änderungen an der .htaccess-Datei überschreiben. Suchen Sie die Apache2-Konfigurationsdatei unter /etc/apache2/apache2.conf .
Suchverzeichnis / var / www / Change AllowOverride None -> AllowOverride All
quelle
Platzieren Sie eine .htaccess-Datei in Ihrem Root-Webverzeichnis
Was auch immer Sie optimieren - wenn die oben genannten Bedingungen nicht erfüllt sind, funktioniert es nicht. Normalerweise befindet es sich im Systemordner im Stammverzeichnis. Prost!
quelle
application
Verzeichnis anstelle von root gespeichert .Ich habe viele Lösungen ausprobiert, aber die, die ich mir ausgedacht habe, ist folgende:
Dadurch wird die index.php nach Bedarf aus der URL entfernt.
quelle
Ich benutze diese Zeilen in der
.htaccess
Datei; was ich in den Stammordner legeDann kann ich zugreifen http://example.com/controller/function/parameter
anstelle von http://example.com/index.php/controller/function/parameter
quelle
Auf diese Weise können Sie diesen Code in den Anwendungsordner in der .htacess-Datei einfügen
quelle
Dieser hat mir die komplette Magie gebracht:
Ich hoffe es hilft!
quelle
Hallo, dieser hat mir geholfen
so gut wie das
Dabei ist der Ordner der Name des Unterordners, wenn diese Codeigniter-Anwendung als Unterdomäne gehostet wird, z. B. Domänenname / Ordner / Index.php.
Hoffe das funktioniert bei dir. Vielen Dank.
quelle
Kopieren Sie den folgenden folgenden Code in Ihren .htaccess
quelle
quelle
Schritt 1 :
Fügen Sie dies in die htaccess-Datei ein
Schritt 2 :
Entfernen Sie index.php in der Codeigniter-Konfiguration
Schritt 3 :
Überschreiben des Zugriffs in der Apache-Konfiguration zulassen (Befehl)
sudo nano /etc/apache2/apache2.conf und bearbeiten Sie die Datei und wechseln Sie zu
für www Ordner
Schritt 4 :
Apache Mod Rewrite aktiviert (Befehl)
Schritt 5:
Starten Sie Apache neu (Befehl)
quelle