Heim > Backend-Entwicklung > PHP-Tutorial > Warum sind mein CSS, JS und meine Bilder nach der Implementierung SEO-freundlicher URLs defekt?

Warum sind mein CSS, JS und meine Bilder nach der Implementierung SEO-freundlicher URLs defekt?

DDD
Freigeben: 2024-12-25 12:42:20
Original
724 Leute haben es durchsucht

Why Are My CSS, JS, and Images Broken After Implementing SEO-Friendly URLs?

SEO-freundliche URLs wirken sich auf CSS, JS und Bildfunktionalität aus: Eine Strategie zum Umschreiben

Um die Suchmaschinenoptimierung (SEO) zu verbessern, Sie haben Ihre .htaccess-Datei mit der Absicht umgeschrieben, SEO-freundliche URLs zu implementieren. Sie sind jedoch auf ein unerwartetes Problem gestoßen: CSS, JS und Bilder funktionieren auf den geänderten Seiten nicht wie erwartet.

Das Problem entsteht durch die Tatsache, dass Ihre ursprüngliche .htaccess-Dateikonfiguration SEO-freundliche URLs erstellt die folgenden Regeln:

RewriteRule ^swift-details/([0-9]+)/([0-9a-zA-Z_-]+)$ swift-details.php?id= [NC,L]
RewriteRule ^swift-details/(css|js|img)/(.*)?$ // [L,QSA,R=301]
Nach dem Login kopieren

Die erste Regel schreibt die URL in ein SEO-freundlicheres Format um. Das Problem liegt in der zweiten Regel. Es versucht, Anfragen für CSS, JS und Bilder ihren absoluten Gegenstücken zuzuordnen und gleichzeitig relative Links innerhalb Ihrer Seiten beizubehalten.

Dieser Ansatz ändert jedoch den Basis-URI Ihrer Seiten und führt zu relativen Links (z. B. „Stile“) .css“) schlägt fehl, da der Browser sie jetzt relativ zur geänderten URL interpretiert (z. B. „/swift-details/2/abblinbb“). Infolgedessen werden CSS, JS und Bilder nicht korrekt geladen.

Fix: Absolute oder Base URI Injection

Es gibt zwei mögliche Lösungen, um dieses Problem zu beheben:

  • Verwenden Sie absolute Links: Ändern Sie die Links auf Ihren Seiten, um stattdessen absolute URLs zu verwenden von relativen (z. B. „/css/styles.css“).
  • Infizieren Sie den Basis-URI: Fügen Sie einen Tag mit einem absoluten Basis-URI innerhalb des Abschnitt Ihrer Seiten:
<head>
  <base href="/" />
</head>
Nach dem Login kopieren

Dadurch wird der Browser gezwungen, relative Links mit dem entsprechenden Basis-URI aufzulösen, um sicherzustellen, dass CSS, JS und Bilder wie erwartet geladen werden.

Das obige ist der detaillierte Inhalt vonWarum sind mein CSS, JS und meine Bilder nach der Implementierung SEO-freundlicher URLs defekt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage