2012-07-12 9 views
5

so im Grunde, wenn ich die Codeigniter-Funktion base_url() im href-Attribut eines Anchor-Tags Echo widerhallen es zweimal aus. Beispiel:cordeigniter: warum ist das, wenn ich base_url() in einem href-Attribut eines anchor-Tags echo zweimal echo

<a href="<?php echo base_url(); ?>">somelink</a> 

und die oben, wenn Sie es Ihr Chrome-Browser überprüfen zeigt dies:

<a href="www.mysitedomainname.com/www.mysitedomainname.com/">somelink</a> 

"mysitedomainname.com" ist nur ein Name, den ich für dieses Beispiel aus. Irgendein Grund, warum das passiert?

+0

Wie definieren Sie Ihre Einstellung base_url in Ihrer Konfigurationsdatei? – Austin

+0

$ config ['base_url'] = 'www.mysitedomainname.com/'; – dave

+1

@dave Bitte sehen Sie meine Antwort unten. –

Antwort

5

Es gibt drei Gründe, die mir bekannt sind, dass dies verursachen kann.

Die erste ist, wenn etwas falsch in config.php auf Zeile 17 $config['base_url'] = ''; geschrieben wird - es besser leer gelassen werden, wie wenn Sie CI herunterladen.

Die zweite ist, wenn Sie $config['base_url'] Wert auf etwas gesetzt haben, ohne es mit http:// oder einem anderen Protokoll voranzutreiben.

Die dritte ist, wenn Sie basehref irgendwo gesetzt haben:

<base href="http://www.mysitedomainname.com/" /> 

Wenn Sie zu einer anderen Seite verbinden benötigen, können Sie sollten Verwendung site_url() kann base_url() verwendet werden Sheets zu verknüpfen, js, img src Attribute und andere echte URLs. Der Grund ist ziemlich einfach, base_url() enthält nicht den in config.php eingestellten Wert index_page.

+0

wow der zweite war das Problem ... Mann verbrachte ich Stunden, buchstäblich tötete mich selbst versuchen, dies herauszufinden ... warum in der Hölle würde http: // einen Unterschied machen? – dave

+0

Da dies grundlegende HTML-Funktionalität ist, versuchen Sie, in einfachen HTML-Code notieren '1 '- es wird die aktuelle URL vorangestellt. Und es ist besser, diesen Wert überhaupt nicht einzustellen, CodeIgniter wird das für Sie übernehmen und Sie müssen es nicht ändern, wenn Sie Ihr Projekt bereitstellen. –

+0

Sinn machen ... wieder danke. – dave

0

Es wird gut funktionieren, wenn Sie

verwenden
<a href="<?php echo base_url('Controller/Function'); ?>">somelink</a> 
0

versuchen diese

dieses

$config['base_url'] = "http://www.mysitedomainname.com" 

in diesem

$config['base_url'] = "" 

in config.php

machen