Ich benutze Codeigniter-Framework für ein Projekt, das ich habe, aber ich habe ein kleines Problem, das ich nicht lösen kann. Ich möchte css styling und js scripts von den Ansichten trennen, also habe ich sie in getrennten Ordnern,/css und/js, beide sind im Ordner Vermögenswerte, die im Stammordner meines Projekts ist. Die Gesamtstruktur ist wie folgt:Wie routen Anfragen im Codeigniter, so dass wir statische CSS, JS und IMG-Dateien bereitstellen können?
/Projekt-Ordner
----/Anwendung
----/System
----/Vermögen
- -------/css
--------/js
---- index.php
Jetzt habe ich einen Controller namens MyLibrary, der eine Methode namens newentry hat, die beim Aufruf die newentry-Ansicht lädt.
<?php
class MyLibrary extends CI_Controller
{
public function newentry()
{
//The upload form
$this->load->view('newentry');
}
}
Die newEntry Ansicht ist ein einfaches Upload-Formular, das eine style.css und script.js für Styling und Validierung etc. verwendet ... Ich bin die base_url() -Methode des codeigniter mit dem Pfad und Dateinamen enthalten der oben genannten Dateien.
<html>
<head>
<link rel="stylesheet" type="text/css" href="<?php echo base_url();?>assets/css/style.css">
<title><?php echo $title; ?></title>
</head>
<body>
<form class = "dropezone" action = 'upload' method = 'POST' enctype = 'multipart/form-data'>
<input type="file" name="document" />
<input type="submit"/>
</form>
</body>
</html>
Diese Linie ist, wo ich ein Problem haben: href = "assets/css/style.css">
die erzeugte Zeichenfolge ist der richtige Weg, das heißt localhost/Projektname/assets/css/styles.css jedoch wird die Anfrage an diese uRL gemacht:
http://localhost/project-name/MyLibrary/localhost/test-pages/assets/css/style.css
was natürlich nicht, wo die Dateien sind. Weiß jemand, warum passiert das?
Auch, wie Sie das beheben? sollte ich eine Route von Hand hinzufügen? Wenn ja, wie wird ein Controller erstellt, der statische Dateien bereitstellt?
Ist 'base_url' in' config.php' gesetzt? – DFriend
Ja, es ist so eingestellt: $ config ['base_url'] = 'localhost/test-pages /'; – hanix
Versuchen Sie das Protokoll zu base_url wie folgt hinzuzufügen: '$ config ['base_url'] = 'http: // localhost/test-pages /';' – DFriend