J'ai fait une sorte de CMS en utilisant CodeIgniter. Il charge le contenu de la page à partir de la base de données en fonction du texte slug
transmis dans le paramètre URL comme par exemple. à propos, services, contact.Comment charger une page à l'aide du contrôleur Codeigniter?
Dans le code du contrôleur, j'ai remappé la méthode d'index pour prendre le slug comme paramètre car les méthodes d'index par défaut n'autorisent pas les paramètres. Vérifiez le code de mon contrôleur page
sur le lien ci-dessous:
La façon dont cela fonctionne est, j'ai mis contrôleur page
à charger par défaut. Donc, chaque fois que j'ouvrir mon site comme celui-ci
il charge le contrôleur comme celui-ci
Si nous passons la limace à elle, il charge le contenu de la page de cette limace de base de données, comme celui-ci
http://www.mysite.com/page/about http://www.mysite.com/page/portfolio
Si nous ne passons pas le slug, il charge la page d'accueil.
Maintenant, ce que je veux faire est, je ne veux pas que ce texte 'page' apparaisse dans l'URL. Ainsi, les pages devraient ouvrir comme ce
http://www.mysite.com/portfolio
Je suppose que cela sera possible grâce à la réécriture d'URL. J'ai déjà effectué une réécriture d'URL pour supprimer index.php
de l'URL, ce qui est normalement fait pour tous les sites Web de Codeigniter. Voici le code de mon fichier .htaccess
RewriteEngine on
RewriteCond $1 !^(index\.php|uploads|fckeditor|assets|robots\.txt)
RewriteRule ^(.*)$ /jobsite/index.php/$1 [L]
Maintenant, la question est, comment puis-je faire le travail d'URL comme cette
http://www.mysite.com/portfolio
Merci à l'avance.
gr8, cela a fonctionné. comment puis-je ajouter une exception pour certains contrôleurs comme/admin_panel,/order_manager, etc. – aslamdoctor
@aslamdoctor de la documentation de CI: "Les routes s'exécuteront dans l'ordre où elles sont définies, les routes supérieures auront toujours la priorité sur les routes inférieures." Si cela a fonctionné, voulez-vous l'accepter comme réponse correcte? :) – yrosen
de cours, c'est accepté. mais si vous pouvez m'aider avec cette chose admin_panel, cela sera apprécié :) – aslamdoctor