Meine aktuellen URLs sehen so aus [mysite]index.php/[rest of the slug]
.
Ich möchte index.php
diese URLs entfernen.
mod_rewrite
ist auf meinem Apache2-Server aktiviert. In config
,$config['index_page'] = '';
Mein Codeignitor root .htaccess
enthält:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
Aber es funktioniert immer noch nicht. Wo gehe ich falsch?
php
.htaccess
codeigniter
apache2
Nihar Sarangi
quelle
quelle
Antworten:
Versuche Folgendes
Öffnen Sie config.php und führen Sie die folgenden Ersetzungen durch
zu
In einigen Fällen
uri_protocol
funktioniert die Standardeinstellung für nicht ordnungsgemäß. Einfach ersetzendurch
.htaccess
Hinweis: Der .htaccess-Code variiert je nach Hosting-Server. In einigen Hosting-Server (zB: Godaddy) muss ein Extra verwendet werden? in der letzten Zeile des obigen Codes. Die folgende Zeile wird im jeweiligen Fall durch die letzte Zeile ersetzt:
quelle
RewriteRule ^(.*)$ index.php/$1 [L]
ausprobiert. Trotzdem kann ich die Seite in beiden Richtungen anzeigen: domain.com/about-us, domain.com/index.php/about-us und domain.com/index.php?/about-us, die generiert werden SEO-Fehler, dh doppeltes Titel-Tag und doppelte Meta-Beschreibung$_POST
oderisset($_POST)
nicht funktionieren, nachdem dies hinzugefügt wurde.Schritt: -1 Öffnen Sie den Ordner „application / config“ und öffnen Sie die Datei „config.php“. Suchen und ersetzen Sie den folgenden Code in der Datei config.php.
Schritt: -2 Wechseln Sie in Ihren CodeIgniter-Ordner und erstellen Sie .htaccess
Schritt: -3 Schreiben Sie den folgenden Code in die .htaccess-Datei
Schritt: -4 In einigen Fällen funktioniert die Standardeinstellung für uri_protocol nicht ordnungsgemäß. Um dieses Problem zu lösen, öffnen Sie einfach die Datei „application / config / config.php“ und suchen und ersetzen Sie den folgenden Code
Das ist alles, aber in Wamp Server funktioniert es nicht, weil rewrite_module standardmäßig deaktiviert ist, so dass wir es aktivieren müssen. Gehen Sie dazu wie folgt vor
Originaldokumentation
Beispiel Link
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)
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
verwenden
Wenn Sie eine URL in dieser Bestellung haben site.com/index.php/class/method/id
quelle
RewriteRule .* index.php/$1 [PT,L]
- Dies übergibt den URL-Pfad nur, wenn Sie dasRewriteRule
Muster von.*
nach ändern(.*)
. Wenn Sie jedoch verwenden,$config['uri_protocol'] = 'REQUEST_URI';
ist dies ohnehin irrelevant.quelle
Verwenden Sie dies auf Ihrem htaccess,
Hoffe das hilft.
quelle
Es gibt zwei Schritte:
1) Bearbeiten Sie config.php
Zu
2) Erstellen / Bearbeiten der .htaccess-Datei
quelle
machen
.htaccess
Datei und setzen diesen CodeVeränderung
index.php
Vorhandenes inconfig.php
Datei entfernenquelle
1.Erstellen Sie eine neue Datei .htaccess im Stammverzeichnis.
2. Gehen Sie zu Ihrer config.php-Datei und wechseln Sie von
$config['index_page'] = 'index.php'
zu$config['index_page'] = ''
quelle
Löste es mit 2 Schritten.
quelle
versuchen Sie dieses. Es kann Ihnen helfen, wie es für mich arbeitet.
Fügen Sie den Code in Ihre Root-Datei htaccess ein und stellen Sie sicher, dass Sie ihn haben
in Ihrer Konfigurationsdatei.
Bitte lassen Sie mich wissen, wenn Sie auf ein Problem stoßen.
quelle
Bitte schauen Sie sich diese Videos als Referenz an: https://www.youtube.com/watch?v=HFG2nMDn35Q
quelle
Nun, diese Antworten sind alle gut, aber für einen Neuling (der das erste Mal macht) sind diese verwirrend. Es gibt andere htaccess-Dateien, die sich im Controller befinden, aber wir müssen den htaccess im Hauptprojektordner bearbeiten oder hinzufügen.
Dies ist Ihr Codeigniter-Ordner, in dem sich Dateien wie Anwendungen, Systeme, Assets, Uploads usw. befinden.
Ändern Sie diese Datei wie folgt:
und ja, natürlich müssen Sie zwei Codezeilen in der Anwendung / config / config.php ändern
quelle
Sowohl Entwicklung als auch Produktion
quelle
Zunächst müssen Sie auf dem Apache-Server die Engine neu schreiben. Dieser Link hilft Ihnen dabei
http://www.anmsaiful.net/blog/php/enable-apache-rewrite-module.html
Dies ist Ihre .htaccess-Datei. Probieren Sie es jetzt aus. Diese Einstellung funktioniert für mich.
quelle
Sie können zur Datei config \ config.php gehen und den Wert index.php aus dieser Variablen entfernen
Erstellen Sie eine .htaccess-Datei und fügen Sie diesen Code ein.
gute Chance
quelle
quelle
Es sind nur drei Schritte erforderlich, um index.php aus der URL in Codeigniter zu entfernen
1) Erstellen Sie eine .htacess-Datei parallel zum Anwendungsinhaber und kopieren Sie einfach den folgenden Code:
2) Ändern Sie $ config ['index_page'] in config.php im Anwendungsordner wie folgt in leer:
3) Aktivieren Sie "rewrite_module" von Apache.
Starten Sie Ihren Apache neu und fertig.
Details: http://sforsuresh.in/removing-index-php-from-url-of-codeigniter-in-wamp/
quelle
Ich denke, Ihre Einstellung ist gut, aber Sie tun, um Ihre htaccess-Datei falsch zu platzieren. Gehen Sie und fügen Sie Ihren htaccess Ihrer Projektdatei hinzu
Projektordner-> htaccess
und fügen Sie diesen Code Ihrem htaccess hinzu
quelle
Sie können zur Datei application \ config \ config.php gehen und index.php entfernen
Ändern
quelle
Probieren Sie diese RewriteEngine On aus
quelle
Das funktioniert bei mir. Getestet in Codeigniter 3.1.11, PHP 5.6.40 Ich verwende einen virtuellen Host in meiner Apache2-Konfiguration beim Testen des Servers.
Und /.htaccess Inhalt
quelle
Befolgen Sie diese Schritte, um Ihr Problem zu lösen
1- Laden Sie die .htaccess-Datei von hier herunter: https://www.dropbox.com/s/tupcu1ctkb8pmmd/.htaccess?dl=0
2- Ändern Sie den CodeIgnitor-Verzeichnisnamen in Zeile 5. wie mein Verzeichnisname ist abc (füge deinen Namen hinzu)
3- Speichern Sie die .htaccess-Datei im Hauptverzeichnis (abc) Ihres Codeignitor-Ordners
4- Ändern Sie uri_protocol von AUTO in PATH_INFO in der Datei Config.php
Hinweis: Zunächst müssen Sie mod_rewrite von httpd.conf von apachi aktivieren, indem Sie die Kommentare entfernen
quelle
Verwenden Sie diesen Code. Ändern Sie die 2. Zeile, sobald Sie Ihren Ordnernamen haben. Wo die Datei index.php und die Ordneranwendung liegen, liegt der Systemordner. Meistens treten Probleme aufgrund der zweiten Zeile auf. Wir konfigurieren nicht den Ordnernamen, in dem sich das Projekt befindet. Wichtig ist die 2. Zeile. Dies ist einfach, um die index.php zu entfernen. RewriteEngine auf RewriteBase / Projektordnername RewriteCond% {REQUEST_FILENAME}! -F RewriteCond% {REQUEST_FILENAME}! -D RewriteRule. * Index.php / $ 0 [PT, L]
Gehen Sie zur Datei controller / config.php.
config ['index_url'] = '';
Referenz für weitere Studien.
https://ellislab.com/expressionengine/user-guide/urls/remove_index.php.html
https://ellislab.com/blog/entry/fully-removing-index.php-from-urls
quelle
Neben diesen Antworten kann man einfach index.php hinzufügen oder bearbeiten (falls es bereits vorhanden ist) - aus Sicherheitsgründen möchten Sie index.php trotzdem deaktivieren, indem Sie die Dateien in Ihrem Website-Verzeichnis auflisten - und dann den Inhalt in ändern
quelle
Kleinigkeit: (Optional)
Eine wichtige Sache zu beachten:
Mein vhosts-Dateiskript: (Vorher)
Mein vhosts-Dateiskript: (Nach)
Ich hatte das gleiche Problem, kämpfte ungefähr einen Tag lang, alle waren in Ordnung. Später, durch Versuch und Irrtum Methode, fand dieses Ding. Nachdem ich dies entfernt hatte, war meine Arbeit erledigt. Die URL sucht jetzt nicht nach index.php :)
quelle
Wenn alle oben genannten Lösungen nicht funktionieren, befinden sich in Ihrem Projektordner zwei Dateien index.html und index.php. Benennen Sie index.html in index_1.html um und durchsuchen Sie Ihr Projekt.
quelle
Beachten Sie den Unterschied zum hinzugefügten "?" Zeichen nach ".php", insbesondere beim Umgang mit CodeIgniter:
vs.
Es hängt von mehreren anderen Dingen ab. Wenn es nicht funktioniert, probieren Sie die andere Option!
quelle
Sie können index.php aus der URL entfernen, indem Sie Code in .htaccess einfügen
Dateipfad: root> .htacess
Hoffe es wird funktionieren.
quelle
In CodeIgniter 3.16 wird htaccess verwendet
& ebenfalls
Folgen sind die Codes:
application\config\config.php
DateiNehmen Sie Änderungen vor
Zu
quelle