CodeIgniter 2,0 friendly URL non funziona su Mac OS X Snow Leopard
-
03-10-2019 - |
Domanda
Per qualche ragione in CI 2.0 gli URL non funzionano.
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
Non sono sicuro se questo è un problema con 2,0 o un problema specifico con la mia configurazione.
Sono in esecuzione Apache 2 su Mac OS X Snow Leopard.
Ho cercato per soluzione .htaccess, ma non ho trovato alcuna per CI 2.0.
Soluzione 2
Il vero problema è che in Snow Leopard la configurazione attuale directory di solito si trova in /private/etc/apache2/httpd.conf si trova ora in /private/etc/apache2/users/[USERNAME].conf By FollowSymlinks predefinite e AllowOverride sono disabilitate c'è quindi bisogna andare a risolvere il problema manualmente, anche se è abilitato nel regolare httpd.conf
Tricky. Grazie a tutti. In caso contrario, tutto ciò che serve è il .htaccess regolare come la gente già sottolineato.
Altri suggerimenti
Avete una regola di riscrittura in Apache per gestire CodeIgniter come questo? vedi: http://codeigniter.com/wiki/mod_rewrite/
- Il primo di default funziona (il default è index.php)
- secondi uno funzionerà perché lo si passa a index.php
- terza solito senza la regola di riscrittura.
soluzioni .htaccess
per CodeIgniter 1.7 funzionerà anche per CodeIgniter 2.0. .htaccess
viene utilizzato per configurare il server web Apache, che è indipendente dal CodeIgniter.
(La configurazione suggerita dal CodeIgniter manuale dovrebbe quindi funzionano bene.)
$ sudo sudo chgrp staff /Library/WebServer/Documents/
$ sudo chmod 775 /Library/WebServer/Documents/
Dopo che tutta la mia applicazione sarà sotto la cartella / Library / WebServer / Documents /
Come 'testing'
/ Library / WebServer / Documents / testing
$ echo "Hello World" >> /Library/WebServer/Documents/testing/index.php
http://localhost/testing
==> it should appear Hello World
ora sotto la cartella '/ Library / WebServer / Documents /' si porrà la cartella CI si dovrà aggiungere il
.htaccess
RewriteEngine On
RewriteCond $1 !^(index\.php)
RewriteRule ^(.+)$ index.php?$1 [L]
AddHandler php5-script .php
Sul vostro CI_Folder / application / config.php
$config['index_page'] = '';
E penso questo è tutto! Buon divertimento!
Si può trovare qui . E 'sotto 'Rimozione del file index.php' intestazione.
La rimozione del file index.php
Per impostazione predefinita, il file index.php sarà incluso nella URL:
example.com/index.php/news/article/my_article~~V~~singular~~2nd Si può facilmente rimuovere questo file utilizzando un file .htaccess con alcune semplici regole. Ecco un esempio di tale file a, utilizzando il metodo "negativo" in cui tutto viene reindirizzato, tranne gli elementi specificati:
RewriteEngine on RewriteCond $1 !^(index\.php|images|robots\.txt) RewriteRule ^(.*)$ /index.php/$1 [L]
Nell'esempio precedente, ogni richiesta HTTP diverse da quelle per index.php, immagini e file robots.txt è trattata come una richiesta per il vostro index.php file.
Il modo migliore è installare il XAMPP, lavorare con me.
solo fermare l'apache locale e mettere l'applicazione in htdocs (XAMPP).
Si vedrà l'applicazione obbedendo gli URL amichevoli.
In bocca al lupo