- Home
- Categorie
- Coding e Sistemistica
- Coding
- primo controller codeigniter
- 
							
							
							
							
							
primo controller codeignitersalve ragazzi, ho iniziato con codeigniter e c'è qualcosa che non mi torna , sto leggendo e rileggendo diverse guide, ma non riesco a risolvere questo problema. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Welcome extends CI_Controller { public function index() { echo ("ciao mondo"); } public function test () { echo ("ciao mondo 2"); } }ho scritto il mio primo controller in Codeigniter. 
 Scrivendo un url del tipo nomesito.it accedo alla pagina di index e quindi a ciao mondo
 poi digitando nomesito/index.php/welcome/test visulaizzo la pagina ciao mondo 2 a questo punto vi chiedo:ho inserito un htaccess nella cartella application con questo codice: RewriteEngine on RewriteCond $1 !^(index\.php|images|css|js|robots\.txt) RewriteRule ^(.*)$ /index.php/$1perché non riesco ad accedere alla pagina ciao mondo 2 digitando come url semplicemente nomesito.it/welcome/test 
 o meglio ancora nomesito/testHo anche modificato il file route in questo modo. $route['default_controller'] = "welcome";ci sto perdendo la testa. Qualche consiglio ??? 
 
- 
							
							
							
							
							Ciao, 
 sposta l'htaccess fuori da application.
 
- 
							
							
							
							
							
ho provato…ma continua a non funzionare sia in locale che in remoto quindi su due configurazioni di hosting differenti. 
 Ma è un problema comune ? o un caso singolare ?
 
- 
							
							
							
							
							Dipende da cosa ti mostra, in alcuni hosting quella regola in quel modo crea problemi. Ma dipende di preciso cosa fa, non è detto che il motivo sia quello. Bisogna un attimo capire cosa succede con quella configurazione. 
 
- 
							
							
							
							
							
[h=1]Not FoundThe requested URL /index.php/ was not found on this server. caricando htacces fuori dalla cartella application con queste istruzioni: RewriteEngine on RewriteCond $1 !^(index\.php|images|css|js|robots\.txt) RewriteRule ^(.*)$ /index.php/$1
 
- 
							
							
							
							
							Metti: RewriteEngine on RewriteCond $1 !^(index\.php|images|[css](http://www.giorgiotave.it/wikigt/os/CSS)|js|robots\.txt)RewriteRule ^(.*)$ index.php/$1
 
- 
							
							
							
							
							
ottimo funziona, ma solo in locale. 
 sul mio hosting comunque non va!problema di configurazione del hosting ? 
 è possibile di risolvere in qualche modo ?Grazie Thedarkita ! 
 
- 
							
							
							
							
							
Non è detto che sull'hosting sia attiva la mod_rewrite (se apache) o quel che è. 
 
- 
							
							
							
							
							
sul hosting è attivo il mod rewrite. ne sono sicuro. 
 
- 
							
							
							
							
							
Se non mi sbaglio va anche modificato l'application\config\config.php [PHP] 
 ...
 /*Index File -------------------------------------------------------------------------- Typically this will be your index.php file, unless you've renamed it to something else. If you are using mod_rewrite to remove the page set this variable so that it is blank. | 
 */
 $config['index_page'] = '';/* 
 ...
 [/PHP]
 
- 
							
							
							
							
							
già fatto. come ti dicevo il locale funziona tutto correttamente, è in remoto sul mio hosting che non va. 
 il servizio di hosting ha attivo il modulo di rewrite….però con le stesse impostazioni non funziona…….:x
 
- 
							
							
							
							
							
Ho risolto !!! 
 qualche hosting è configurato diversamente quindi al posto di:RewriteRule ^(.*)$ index.php/$1 [L,QSA]bisogna sostituire con: 
 aggiungendo il ? dopo index.phpRewriteRule ^(.*)$ index.php?/$1 [L,QSA]