2 Stimmen

Parallele CodeIgniter und statisches HTML und htaccess Probleme

Ich grüße Sie alle.

Ich führe CI parallel zu einer statischen HTML-Site aus, deren Verzeichnisstruktur wie folgt aussieht:

  • CI
  • statisch
  • benutzer_handbuch
  • .htaccess
  • index.php

Und ich verwende das Folgende in meiner .htaccess-Datei, um die statischen Dateien zu erhalten.

RewriteEngine On
RewriteRule ^(application) - [F,L]

DirectoryIndex /static/index.html

RewriteRule ^([a-z0-9_-]+)\.html$ /static/$1.html [L]
RewriteRule ^images/([a-z0-9_-]+)\.gif$ /static/images/$1.gif [L]
RewriteRule ^images/([a-z0-9_-]+)\.jpg$ /static/images/$1.jpg [L]
RewriteRule ^css/([a-z0-9_-]+)\.css$ /static/css/$1.css [L]
RewriteRule ^js/([a-z0-9_-]+)\.js$ /static/js/$1.js [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]

Ich habe meine "Assets" (Bilder, CSS usw.) in der statischen Verzeichnisstruktur abgelegt (da das meiste, was ich in meinen CI-Ansichten verwende, von der bestehenden Website übernommen wurde). Alles scheint gut zu funktionieren, mit Ausnahme einer Sache

Wenn ich ein JQuery-Plugin einbinden möchte, etwa so:

<script src="../../js/jquery.autocomplete.js"></script >

Diese Datei wird nicht angezeigt, wenn ich versuche, sie direkt über die Adressleiste des Browsers abzurufen.

Wenn ich die Datei von "jquery.autocomplete.js" in "autocomplete.js" umbenenne, kann diese Datei zwar über eine Anfrage aus der Adressleiste des Browsers abgerufen werden, wird aber offenbar nicht geladen und funktioniert nicht korrekt in meinem Javascript (das Javascript stoppt die Ausführung genau an dem Punkt, an dem die Funktion autocomplete() aufgerufen wird:

$("#fld").autocomplete("ajax/val", {
    width: 260,
    selectFirst: false
});

Ich habe verschiedene Varianten der RewriteRule-Regel ausprobiert, die für das Verzeichnis /js gilt, und nichts scheint zu funktionieren - aber ich tappe in .htaccess immer im Dunkeln. Kann mir jemand helfen?

Das ist das letzte, was ich versucht habe, und es funktioniert nicht:

RewriteRule ^js/jquery\.([a-z0-9_-]+)\.js$ /static/js/jquery.$1.js [L]

Danke für jede Hilfe.

1voto

Hier ist eine Antwort:

RewriteRule ^js/([a-z0-9_\.]+)\.js$ /static/js/$1.js [NC,L]

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X