Ich versuche, eine Multi-App-CodeIgniter-Site zu erstellen, in der die Assets für alle Apps in einem einzigen Ordner namens "Assets" gespeichert werden. Innerhalb dieses einzelnen Ordners hätte jede App ihren eigenen Asset-Ordner. Also, wenn das ist mein Stammverzeichnis ...HOWTO: Neuschreiben von Anfragen für Bilder, CSS und JS in verschiedene Ordner für jede Anwendung?
user_guide apps_folder (this is where all my application folders live) system assets
... das Vermögen Ordner so organisiert werden:
assets myapp1 js img css media
Hier ist meine Herausforderung. Ich versuche, eine Apache-Direktive zu schreiben, die alle Anforderungen für Dateien, die auf css, js, png und gif enden, in das entsprechende Asset-Verzeichnis für diese App umschreibt. Der Benutzer kann jedoch den genauen Speicherort dieser Assets auf dem Server nicht ermitteln. Um Ihnen ein Beispiel:
ist die Anfrage: www.myapp1.com/js/jquery.js
Die Datei befindet sich in: assets/Myapp1/js
Die Richtlinie wird prüfen a) die Domain-Adresse b) Dateierweiterung
... und auf der Grundlage dieser Variablen, wird die uRL neu schreiben, damit dir wirkliche Lage des Vermögens versteckt, und macht es möglich, Vermögenswerte zu verweisen, als ob sie alle waren befindet sich an der Wurzel der Website. Hat jemand jemals so etwas getan?
Dank,
Ich verstehe. Ja, das sollte funktionieren, aber wenn ich versuche, das lokal zu implementieren, funktioniert es nicht so, wie es sollte. Ich weiß nicht, was falsch ist. Hier ist meine .htaccess Datei, die sich im root befindet. RewriteEngine auf \t \t RewriteCond% {HTTP_HOST} Myapp1 \ .localhost \ .dev $ \t RewriteRule ^/js/(. *) \. js $ assets/Myapp1/js/$ 1 \t RewriteCond $ 1 treffen^(Inhalt |. * \. js |. * \. css |. * .png | user_guide | index \ .php | robots \ .txt) \t RewriteRule^(. *) $/codeigniter-171/index. php/$ 1 [L] –
picardo
Nur ein paar Worte der Erklärung, die zweite Rewrite-Regel ist, alle Anfragen über Bootstrapper umzuleiten, aber der gleiche Fehler 404 passiert, wenn ich es auch entfernen. Außerdem ist mir klar, dass die oben genannte Regel wahrscheinlich .js am Ende benötigt, nach $ 1, nein? – picardo
Die Ursache des 404 gefunden. Der Schrägstrich vor der js in der RewriteRule sollte nicht da sein. Mann, 3 Stunden, um diese Scheiße herauszufinden. – picardo