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/
27
demandé sur pawel 2012-08-03 12:42:51

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
53
répondu Brendan 2012-08-03 18:19:58

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'])).'/';
17
répondu Amranur Rahman 2016-06-23 07:22:36

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!!! :)

5
répondu Neeraj Singh 2016-06-15 10:41:39

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

4
répondu complex857 2017-07-17 07:13:05

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.

2
répondu Vimel Raja 2016-01-14 02:33:49

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.

1
répondu Verde 2017-07-10 09:06:01

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 )

1
répondu Pradipsinh Rajput 2017-09-15 10:07:02

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'].'/ ';

0
répondu Rana Muhammad Saqib II 2016-07-02 09:19:32
$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.

0
répondu sooraj subramanyan 2017-03-01 05:51:08
Base url set in CodeIgniter for all url

$config['base_url'] = "http://".$_SERVER['HTTP_HOST']."/";
0
répondu Siddharth Shukla 2017-07-23 09:43:41

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;
0
répondu Anjani Barnwal 2018-01-06 08:45:59

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

0
répondu Saiful Islam 2018-01-09 06:27:52

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
0
répondu Sani Kamal 2018-07-19 07:33:22

vous manquez les guillemets?

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

-1
répondu fuyunbiyi 2012-08-03 09:00:27

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"

-2
répondu pbappia12 2012-08-03 08:49:54