css, Bilder und Herstellerordner werden nicht geladen, wenn htaccess rewrite verwendet wird - .htaccess, mod-rewrite

Im Folgenden wird das Skript htaccess verwendet:

Options +FollowSymlinks
RewriteEngine On

RewriteRule ^gecko/([^/]*)$ gecko.php?gecko=$1 [L]

Welche Änderungen? http://localhost/geckology/gecko.php?gecko=Zilly (was lädt css usw. gut) zu http://localhost/geckology/gecko/zilly was das CSS nicht so gut lädt, wie es in solchen Verzeichnissen aussieht http://localhost/geckology/gecko/css/theme.css wenn es sein sollte http://localhost/geckology/css/theme.css

Die Seite ist riesig, also wenn es möglich wäre, würde ich gerne eine htaccess-Möglichkeit finden, dies zu beheben, aber ich werde alles auf absolute URLs ändern, wenn es nicht möglich ist

Antworten:

1 für die Antwort № 1

Sie können die relative URI-Basis korrigieren, indem Sie diese einfach zur Kopfzeile Ihrer Seiten hinzufügen:

<base href="/" />

oder wenn du htaccess benutzen musst, was wirklich istineffizient und wird alle Ihre css / scripts / etc alle an einem Ort sein, während gleichzeitig der Rest der Welt denken, das gleiche ist eigentlich 2 verschiedene URLs:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^gecko/(css|images|other)(/.*)$ /$1/$2 [L]

Dadurch werden alle URLs, die auf "css", "image" oder "andere" Ordner im / gecko / path zugreifen wollen, blind neu geschrieben.


Verwandte Fragen