Maison >développement back-end >tutoriel php >Pourquoi mes URL CodeIgniter sont-elles redirigées de manière incorrecte après le passage en production ?

Pourquoi mes URL CodeIgniter sont-elles redirigées de manière incorrecte après le passage en production ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-03 11:25:29760parcourir

Why Are My CodeIgniter URLs Redirecting Incorrectly After Moving to Production?

Dépannage de la configuration de l'URL de base de CodeIgniter

CodeIgniter fournit des capacités robustes de gestion des URL, et il est crucial de configurer correctement l'URL de base pour votre environnement de production.

Énoncé du problème

Après avoir déplacé votre application CodeIgniter d'un environnement de développement vers un serveur de production, vous pouvez rencontrer un problème où les URL ne sont pas redirigées correctement en raison d'une base incorrecte. Configuration des URL. Le problème se produit lorsque des fonctions telles que "/home/test" redirigent vers "someurl.com/home/test" au lieu de "someurl.com/mysite/home/test."

Solution : base absolue URL

Pour remédier à ce problème, il est important de configurer l'URL de base comme une URL absolue, y compris le protocole. Cela signifie qu'au lieu d'utiliser :

$config['base_url'] = someurl.com/mysite/

vous devez utiliser :

$config['base_url'] = "http://somesite.com/somedir/";

Cette URL absolue garantit que les URL sont correctement générées avec le chemin de base correct.

Notes supplémentaires

  • Si vous utilisez l'assistant d'URL CodeIgniter, les fonctions base_url() et site_url() afficheront l'URL de base configurée.
  • Passer des arguments à ces fonctions vous permet de générer des URL spécifiques, telles que :

    • echo base_url('assets/stylesheet.css'); // "http://somesite.com/somedir/assets/stylesheet.css"
    • echo site_url('mycontroller/mymethod'); // "http://somesite.com/somedir/index.php/mycontroller/mymethod"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn