CodeIgniter 2.0 freundliche URLs funktioniert nicht auf Mac OS X Snow Leopard
-
03-10-2019 - |
Frage
Aus irgendeinem Grund in CI 2.0 die URLS nicht funktionieren.
http://localhost/myapp/ - will open the default controller (bc it finds index.php)
http://localhost/myapp/index.php/home/ - will open the default controller
http://localhost/myapp/home/ - will show path not found
Ich bin nicht sicher, ob dies ein Problem mit 2.0 oder einem spezifischen Problem mit meiner Konfiguration.
Ich bin mit Apache 2 auf Mac OS X Snow Leopard.
suchte ich nach .htaccess-Lösung, konnte aber nicht für CI 2.0 finden.
Lösung 2
Das eigentliche Problem, dass in Snow Leopard wurde in der Regel die tatsächliche Directory-Konfiguration in /private/etc/apache2/httpd.conf befindet sich jetzt in /private/etc/apache2/users/[USERNAME].conf standardmäßig FollowSymlinks befindet und AllowOverride sind deaktiviert es so müssen Sie gehen und zu beheben manuell, auch wenn es in der regulären aktiviert ist httpd.conf
Tricky. Danke an alle. Ansonsten alles was Sie brauchen ist die regelmäßige .htaccess wie Menschen bereits darauf hingewiesen.
Andere Tipps
Haben Sie eine Rewrite-Regel in Apache codeigniter wie zu handhaben? siehe: http://codeigniter.com/wiki/mod_rewrite/
- Die erste standardmäßig funktioniert (Standard: index.php)
- Sekunden wird man arbeiten, weil Sie es passieren zu index.php
- dritte wird nicht ohne die Rewrite-Regel.
.htaccess
Lösungen für CodeIgniter 1.7 funktioniert auch für CodeIgniter 2.0. .htaccess
wird verwendet, um den Apache Webserver zu konfigurieren, die von CodeIgniter unabhängig ist.
(Die vorgeschlagene Konfiguration aus dem CodeIgniter Handbuch sollte daher gut funktionieren.)
$ sudo sudo chgrp staff /Library/WebServer/Documents/
$ sudo chmod 775 /Library/WebServer/Documents/
Danach alle meine App wird unter dem Ordner / Library / WebServer / Documents /
Wie 'testing'
/ Library / WebServer / Documents / Prüfung
$ echo "Hello World" >> /Library/WebServer/Documents/testing/index.php
http://localhost/testing
==> it should appear Hello World
nun unter dem Ordner '/ Library / WebServer / Documents /' werden Sie die CI-Ordner ablegen Sie werden die
muss hinzufügen.htaccess
RewriteEngine On
RewriteCond $1 !^(index\.php)
RewriteRule ^(.+)$ index.php?$1 [L]
AddHandler php5-script .php
Auf Ihrem CI_Folder / application / config.php
$config['index_page'] = '';
Und ich denke, das ist alles! Genießen Sie!
Hier finden Sie es rel="nofollow"> hier href="http://ellislab.com/codeigniter/user-guide/general/urls.html". Es ist unter 'Entfernen der Datei index.php' Header.
Das Entfernen der Datei index.php
Standardmäßig wird die Datei index.php in Ihren URLs enthalten sein:
example.com/index.php/news/article/my_article Sie können ganz einfach entfernen diese Datei durch eine .htaccess-Datei mit einigen einfachen Regeln. Hier ist ein Beispiel für eine solche Datei, die „negative“ Verfahren verwendet, bei dem alles wird mit Ausnahme der angegebenen Elemente umgeleitet:
RewriteEngine on RewriteCond $1 !^(index\.php|images|robots\.txt) RewriteRule ^(.*)$ /index.php/$1 [L]
In dem obigen Beispiel kann jede HTTP-Anforderung andere als die index.php, Bilder und robots.txt werden als Anforderung für Ihren index.php behandelt Datei.
Der beste Weg ist es, die XAMPP, die Arbeit mit mir installieren.
nur die lokale Apache stoppen und setzen Sie Ihre Anwendung in htdocs (XAMPP).
Sie werden sehen, Ihre Anwendung die freundliche URLs zu gehorchen.
Viel Glück