Domanda

Questo è il mio url del sito:

xxx.myserver.net

In questo sito voglio instradamento del controller che significa quando ho linkthis digitare l'URL:

xxx.myserver.net/aaaaa

Voglio destinarli al controller che desideravo mezzi taht Voglio riorientare in:

xxx.myserver.net/index.php/controller-name/funation-name/aaaaa

Voglio fare questo senza usare il metodo .htaccess solo utilizzando CodeIgniter uri metodo di routing.

Quando provo a fare questo ottengo un messaggio di errore:

Not Found

The requested URL  not found on this server.

Questo è il codice ho dato nella pagina routes.php:

$route['/(:any)'] = "xxx.myserver.net/index.php/controller-name/funation-name/$1";

Qual è il problema nel mio codice?

Come posso fare questo?

È stato utile?

Soluzione

Non si può farlo senza l'utilizzo di un file .htaccess. Da un livello alto, lo scopo del file .htaccess è di instradare tutte le richieste per il dominio attraverso il front controller CodeIgniter, il file index.php nella directory principale. Ecco l' documentazione che spiega come la creazione del file e la rimozione .htaccess index.php dalle opere URL. Per parafrasare, si afferma come richieste arbitrarie sono trattati come le richieste per il file index.php.

Quando si effettua una richiesta al xxx.myserver.net/aaaaa server web è alla ricerca della aaaaa risorsa nella vostra root. La richiesta non è nemmeno essere elaborato da CodeIgniter. Dal momento che non avete aaaaa risorsa dal titolo si riceve un errore.

Per usare CodeIgniter senza un file .htaccess è necessario superare ogni richiesta tramite index.php. Ad esempio:

xxx.myserver.net/index.php/aaaaa

Poi si potrebbe creare il vostro itinerario in questo modo:

$route['(:any)'] = 'controller_name/function_name/$1';

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top