CSS und JS nicht geladen wird, wird mit mod_rewrite
Bin ich mit dem apache mod_rewrite Modul, zur Verbesserung der URL-Struktur(für eine Instanz - www.mydomainname.com/user.php?u=somename
), um einige Phantasie-URL wie www.mydomainname.com/user/somename
. Ich habe erfolgreich erreicht es, bis ich mich in diese schlimme situation von CSS-und JS-relativen Pfad Problem.
Immer wenn ich bis www.mydomainname.com/user/somename
es wird erfolgreich geladen, ohne CSS und JS mit nur text-und HTML-Grundkenntnisse. Ich benutzte chrome "element untersuchen" - Funktion, die mir helfen, zu wissen, die folgenden Fehler aufgetreten sind.
GET http://www.mydomainname.com/user/css/style.css 404 (Not Found) somename:5
GET http://www.mydomainname.com/user/css/developer.css 404 (Not Found) somename:6
GET http://www.mydomainname.com/user/js/jquery-1.5.2.js 404 (Not Found) somename:7
GET http://www.mydomainname.com/user/js/jquery.form.js 404 (Not Found) somename:5
Den .htaccess-Datei hat folgenden Inhalt-
DirectoryIndex index.html.php
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^user/([^/.]+)/?$ user.php?u=$1 [L]
Den user.php ist, die Ihren Wohnsitz in den übergeordneten Ordner sowie die CSS-und JS-Ordner. Ich hab den Grund zu wissen, aber nicht wissen, wie Sie die Fehler.
BEARBEITEN: Der Pfad der CSS-und JS in die user.php Datei-
<link type = "text/css" rel = "stylesheet" href = "css/style.css">
<link type = "text/css" rel = "stylesheet" href = "css/developer.css">
<script type="text/javascript" src="js/jquery-1.5.2.js"></script>
<script type="text/javascript" src="js/jquery.form.js"></script>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie die absoluten Pfade (fügen Sie einfach
/
am Anfang der URL):userdetail.php
, userdetail.php liegt im selben Verzeichnis, dieuser.php
lebt, aber es ist die POST-Anforderung an den Pfaduser/userdetail.php
stattuserdetail.php
userdetail.php
post zu/userdetail.php
.versuchen
Ich glaube, Sie sind, so dass Anfragen für die Datei, aber nicht für Verzeichnisse. Die JS/CSS-Dateien sind in Unterverzeichnissen.
//UPDATE
Die relativen Pfade, die Sie verwenden, sind das Problem.
Den code, den Sie eingefügt haben, die für Ihre Wege, die im wesentlichen sagt, Suchen diese css-Datei in den Unterordner des aktuellen Ordner. Der Unterordner nicht existiert, daher der Fehler.
Ändern Sie Ihren code wie folgt.
Diese übersetzen zu suchen, die Dateien aus dem root-Ordner.
user/somename url
, geladen werden, die gleiche Weise, die es ist geladen mituser.php?u=somename
. Obwohluser.php?u=somename
arbeitet perfekt mit allen CSS und JS geladen wird, aber warum nicht mit/user/somename
?Brauchen Sie nicht, sich darum zu kümmern. Sie können einfach öffnen Sie "httpd.conf" - Datei von apache. und entfernen hash von unten Linie.
Beispiel:
Ändern Sie es: