Als ich meine Seite in der Entwicklungsumgebung hatte, war es die URL: testurl.com
Jetzt muss auf dem Produktionsserver die Adresse meiner Codeigniter-App sein someurl.com/mysite/
Ich habe es dorthin verschoben, und jedes Mal, wenn ich versuche, eine Funktion auszuführen, example /home/test – Es bringt mich hinein someurl.com/home/test – was falsch ist.
Es muss sein someurl.com/mysite/home/test – Wie man es repariert? Ich habe eingestellt
$config['base_url'] = someurl.com/mysite/
Die Basis-URL sollte absolut sein, einschließlich des Protokolls:
$config['base_url'] = "http://somesite.com/somedir/";
Wenn Sie den URL-Helfer verwenden, dann base_url()
wird die obige Zeichenfolge ausgeben.
Übergabe von Argumenten an base_url()
oder site_url()
ergibt sich folgendes (vorausgesetzt $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

Amranur Rahman
Überprüfen
Konfig > Konfig
Codeigniter-Dateistruktur
ersetzen
$config['base_url'] = "your Website url";
mit
$config['base_url'] = "http://".$_SERVER['HTTP_HOST'];
$config['base_url'] .= preg_replace('@/[email protected]', '', dirname($_SERVER['SCRIPT_NAME']))."https://stackoverflow.com/";
Nun, das ist sehr interessant, hier ist schneller und funktionierender Code:
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;
CodeIgniter ROCKT!!! 🙂

Komplex857
Wenn Sie es leer lassen, versucht das Framework dies automatische Erkennung es seit Version 2.0.0
.
Aber nicht drin 3.0.0
siehe hier: config.php

Marco Demaio
Ich denke CodeIgniter 3 empfiehlt sich einzustellen $config['base_url']
zu einer vollständigen URL manuell um zu vermeiden HTTP-Header-Injection.
Wenn Sie sich darüber keine Gedanken machen, können Sie einfach die folgenden Zeilen in Ihre hinzufügen
application/config/config.php
defined('BASE_URL') OR define('BASE_URL', (is_https() ? 'https://' : 'http://') . $_SERVER['HTTP_HOST'] . dirname($_SERVER['SCRIPT_NAME']) . "https://stackoverflow.com/");
$config['base_url'] = BASE_URL;
Auf diese Weise haben Sie auch BASE_URL
konstant in Ihrem gesamten Projektcode (einschließlich der Ansichten) verfügbar und Sie müssen keine Funktionen verwenden:
config_item('base_url') //returns BASE_URL
$this->config->item('base_url'); //returns BASE_URL

Parik
Dies ist für Server und Live-Sites, die ich in hostinger.com anwende und es funktioniert gut
1 : $config['base_url'] = 'http://yoursitename.com';
(in confing.php)
2) : src="https://stackoverflow.com/questions/11792268/<?=base_url()?>assest/js/wow.min.js"
(in Ansichtsdatei)
3) : href="https://stackoverflow.com/questions/11792268/<?php%20echo%20base_url()?>index.php/Mycontroller/Method"
(für URL-Link oder Methodenaufruf)

Rennenimagination
Nachdem Sie die Basis-URL in config.php deklariert haben, (beachten Sie, wenn Sie immer noch denselben Fehler erhalten, überprüfen Sie autoload.php)
$config['base_url'] = "http://somesite.com/somedir/";
Aktivieren Sie “automatisches Laden”
CodeIgniter-Dateistruktur:
\application\config\autoload.php
Und beim Autoload aktivieren:
$autoload['helper'] = array(**'url',** 'file');
Und es funktioniert.
9172100cookie-checkWie stelle ich die richtige Codeigniter-Basis-URL ein?yes