- Home
- Categorie
- Coding e Sistemistica
- PHP
- primo controller codeigniter
-
primo controller codeigniter
salve 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/$1
perché 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]