Heim >Backend-Entwicklung >PHP-Tutorial >Wie verhindere ich Probleme beim Laden von CSS, JS und Bildern nach dem Umschreiben der URL?
URL-Rewriting: Beheben von Ladeproblemen für CSS, JS und Bilder
Beim URL-Rewriting kommt es häufig zu Szenarios, in denen CSS, JS , und Bilddateien werden nach der Umleitung nicht mehr geladen. Dieses Problem tritt normalerweise auf, wenn relative Pfade verwendet werden und die Umleitungsregel die Basis-URL ändert.
Betrachten Sie zur Veranschaulichung die folgende Konfiguration:
Options +FollowSymLinks RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteRule ^detail/([0-9]+)/?$ detail.php?id=
In diesem Fall leitet die Regel URLs wie folgt um „http://localhost/detail/123“ zu „http://localhost/detail.php?id=123“. Während die Umleitung erfolgreich erfolgt, können CSS-, JS- und Bilddateien in „http://localhost/css/“ und „http://localhost/js/“ nicht geladen werden, da die relativen Pfade nicht mehr gültig sind.
Lösung des Problems
Eine häufig vorgeschlagene Lösung besteht darin, die relativen Pfade in absolute Pfade zu ändern, z. B. „/css/“ und „/js/“. Dieser Ansatz erfordert jedoch manuelle Bearbeitungen an mehreren Dateien und gilt nicht als zuverlässige Lösung.
Alternative Lösung mit .htaccess-Regeln
Um dieses Problem zu beheben und gleichzeitig relative Pfade beizubehalten , ziehen Sie die folgende Lösung in Betracht:
Fügen Sie die folgende Zeile in Ihre .htaccess-Datei ein vor der RewriteRule-Anweisung:
RewriteBase /
Dadurch wird sichergestellt, dass der Basis-URI auch nach der Umleitung „/“ bleibt, wodurch das Problem mit relativen Pfaden behoben wird.
Beispiel:
Mit der obigen Änderung erscheint die .htaccess-Datei jetzt als folgt:
Options +FollowSymLinks RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteRule ^detail/([0-9]+)/?$ detail.php?id=
Hinweis: Denken Sie daran, die Zeile „RewriteBase /“ vor allen RewriteRule-Anweisungen zu platzieren.
Das obige ist der detaillierte Inhalt vonWie verhindere ich Probleme beim Laden von CSS, JS und Bildern nach dem Umschreiben der URL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!