Comment définir une url de base de codeigniter correcte?
quand j'ai eu mon site sur l'environnement de développement - c'était url: testurl.com
maintenant sur le serveur de production l'adresse de mon application codeigniter doit être someurl.com/mysite/
j'ai déménagé il y, et à chaque fois que j'essaie de l'exécuter certaines fonctions, exemple / accueil / test - il me prend dans someurl.com/home/test - qui est FAUX.
Il faut someurl.com/mysite/home/test - Comment le résoudre? Je n'ai mis
$config['base_url'] = someurl.com/mysite/
15 réponses
L'URL de Base doit être absolue, y compris le protocole:
$config['base_url'] = "http://somesite.com/somedir/";
Si vous utilisez l'URL helper, puis base_url()
produira la chaîne ci-dessus.
passer les arguments à base_url()
ou site_url()
résultera en ce qui suit (en supposant que $config['index_page'] = "index.php";
:
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
Case
configuration > config
structure du fichier codeigniter
remplacer
$config['base_url'] = "your Website url";
$config['base_url'] = "http://".$_SERVER['HTTP_HOST'];
$config['base_url'] .= preg_replace('@/+$@', '', dirname($_SERVER['SCRIPT_NAME'])).'/';
Eh bien c'est très intéressant, voici le code rapide et fonctionnel:
index.php
/**
* Define APP_URL Dynamically
* Write this at the bottom of index.php
*
* Automatic base url
*/
define('APP_URL', ($_SERVER['SERVER_PORT'] == 443 ? 'https' : 'http') . "://{$_SERVER['SERVER_NAME']}".str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']));
config.php
/*
|--------------------------------------------------------------------------
| Base Site URL
|--------------------------------------------------------------------------
|
| URL to your CodeIgniter root. Typically this will be your base URL,
| WITH a trailing slash:
|
| http://example.com/
|
| If this is not set then CodeIgniter will guess the protocol, domain and
| path to your installation.
|
*/
$config['base_url'] = APP_URL;
des roches de CodeIgniter!!! :)
si vous le laissez vide, le framework essaiera de détection automatique depuis la version 2.0.0
.
Mais pas 3.0.0
, voir ici: config.php
après avoir déclaré l'url de base dans la configuration.php, (note, si vous avez toujours la même erreur, vérifiez autoload.php)
$config['base_url'] = "http://somesite.com/somedir/";
cochez la Case "autoload"
structure du fichier CodeIgniter:
\application\config\autoload.php
Et activer le chargement automatique:
$autoload['helper'] = array(**'url',** 'file');
et ça marche.
application > configuration > config.php
rechercher $config ['base_url' ] et mettre votre site comme "/ / example.com " (skip protocol)
$config['base_url'] = "//someurl.com/";
Cela fonctionne pour moi.
ceci est pour le serveur et le site en direct je m'applique dans hostinger.com and its working fine
1er : $config['base_url'] = 'http://yoursitename.com';
(dans confing.php)
2):src="<?=base_url()?>assest/js/wow.min.js"
(en vue de fichier )
3):href="<?php echo base_url()?>index.php/Mycontroller/Method"
(lien url ou l'appel de méthode )
Dynamique de l'Url de Base (codeigniter)
juste écraser la ligne dans config/config.php avec le code suivant:
$ config ['base_url'] = ' http://'.$_SERVER ['HTTP_HOST'].'/ ';
$config['base_url'] = "http://".$_SERVER['SERVER_NAME']."/project_name/";
de cette façon vous config vous base_url , puis ne vous inquiétez pas à propos de l'hébergement. les deux fonctionnent en localhost et server.
Base url set in CodeIgniter for all url
$config['base_url'] = "http://".$_SERVER['HTTP_HOST']."/";
changement de configuration.php comme ça.
$ark_root = "http://".$_SERVER['HTTP_HOST'];
$ark_root .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);
$config['base_url'] = $ark_root;
vous pouvez utiliser le chemin D'URL de base par défaut pour n'importe quel serveur Qui doivent être utilisés dans le répertoire de configuration > config.les fichiers php vous remplacer :
$config['base_url'] = 'index.php';
par le présent code:
$config['base_url'] = "http://".$_SERVER['HTTP_HOST'];
$config['base_url'] .= preg_replace('@/+$@','',dirname($_SERVER['SCRIPT_NAME'])).'/';
c'est auto a trouvé votre dossier de forme n'importe quel serveur
L'URL de Base doit être absolue, y compris le protocole:
$config['base_url'] = "http://".$_SERVER['SERVER_NAME']."/mysite/";
cette configuration fonctionnera à la fois dans localhost et server.
N'oubliez pas d'activer le chargement automatique:
$autoload['helper'] = array('url','file');
alors base_url () affichera
echo base_url('assets/style.css'); //http://yoursite.com/mysite/assets/style.css
vous manquez les guillemets?
$ config ['base_url'] = "someurl.com/mysite"
Essayez d'ajouter le contrôleur à votre page d'index aswell. Juste regardé comme une structure similaire sur un de mes propres site et je hade mon url de base mis à = "somedomain.com/v2/controller"