Simple Routage d'URL ne fonctionne pas avec CodeIgniter
Je suis assez nouveau à CodeIgniter et de terminer mon premier projet. Cependant, avant je l'ai mis sur mon site d'hébergement je voudrais nettoyer les URL à l'aide de la routes.php fichier que CodeIgniter fournit dans le dossier config.
Mon site vous permettra de charger à l'aide de l'url ci-après:
http://fakehost:8888/TheWorksPlumbing/index.php/theWorksPlumbingController/index/home
http://fakehost:8888/TheWorksPlumbing/index.php/theWorksPlumbingController/index/about
http://fakehost:8888/TheWorksPlumbing/index.php/theWorksPlumbingController/index/services
et il sera aussi charger la page d'accueil en utilisant le contrôleur par défaut l'url de: http://fakehost:8888/TheWorksPlumbing/
Cependant, je veux avoir une url pour chaque page du site, mais impossible de le faire fonctionner. Par exemple je voudrais avoir:
http://fakehost:8888/TheWorksPlumbing/home
http://fakehost:8888/TheWorksPlumbing/about
http://fakehost:8888/TheWorksPlumbing/services
Voici le code pour le theWorksPlumbingController Contrôleur de fichier:
class TheWorksPlumbingController extends CI_Controller {
public function index($page = 'home'){
if ( !file_exists('application/views/'.$page.'.php') ) {
show_404();
}
$this->load->view('templates/header');
$this->load->view($page);
$this->load->view('templates/footer');
}
}
Voici le code dans mon routes.php fichier qui ne fonctionne pas:
$route['default_controller'] = "theWorksPlumbingController";
$route['404_override'] = '';
$route['(:any)'] = "index.php/theWorksPlumbingController/index";
De quoi ai-je besoin d'ajouter ou de changer pour obtenir le site il suffit de charger /home ou /ou /ou services?
David, je n'ai pas touché les règles de mod_rewrite. Entendez-vous la .fichier htaccess? il dit: Refuser tous là.. je suis en supposant que c'est mauvais?
En regardant votre répondu à la question, il ne semble pas comme vous l'aviez mod_rewrite règles en place dans le cadre .htaccess. Sinon, je vous recommande VIVEMENT de prendre le temps de lire Apache guides de l'utilisateur - httpd.apache.org/docs/2.2 Ils sont assez sec mais il est important que vous avez une idée de ce que Apache est ou pourrait être fait pour vous.
OriginalL'auteur ErinSKabbash | 2013-03-21
Vous devez vous connecter pour publier un commentaire.
Pourrait le faire.. bien que je n'ai jamais essayé avec une installation comme ça. Généralement, dans de CI, de vous faire une méthode pour chaque page comme ceci:
qui sont accessibles via
Et routable par
https://www.codeigniter.com/user_guide/general/routing.html
assurez-vous de se débarrasser de la
$route['(:any)'] = "index.php/theWorksPlumbingController/index";
route..htaccess
ne devraient pas affecter les routes à tous; .htaccess est utilisé pour des choses comme le cacher index.php la forme de l'url.Ahhh, ok. J'ai ajouté de l'index.php pour l'url et ça a fonctionné. Alors maintenant, j'ai localhost:8888/TheWorksPlumbing/index.php/accueil mais comment puis-je masquer index.php?
ellislab.com/forums/viewthread/155801 Ou tout simplement la recherche pour "codeigniter masquer index.php'. C'est l'une des questions les plus fréquemment posées et il y a des milliers de réponses là-bas.
Vous êtes l'homme! Merci pour toute l'aide que.
OriginalL'auteur stormdrain