Maison > développement back-end > tutoriel php > Comment résoudre les problèmes de chargement de CSS, JS et d'images après la mise en œuvre de la réécriture d'URL ?

Comment résoudre les problèmes de chargement de CSS, JS et d'images après la mise en œuvre de la réécriture d'URL ?

Susan Sarandon
Libérer: 2024-12-02 09:37:10
original
666 Les gens l'ont consulté

How to Fix CSS, JS, and Image Loading Issues After Implementing URL Rewriting?

Réécriture d'URL : résolution des échecs de chargement des CSS, JS et images

Lors de la mise en œuvre des règles de réécriture d'URL dans .htaccess, un problème courant survient où les actifs externes tels que CSS, JS et les images ne se chargent pas correctement. Cela peut être attribué au changement de base d'URI lorsque la redirection se produit.

Une première solution consiste à utiliser des chemins absolus, ce qui garantit que les actifs sont localisés quelle que soit l'URL de la page. Cependant, cela nécessite des modifications fastidieuses de tous les fichiers, ce qui en fait une solution peu fiable.

Une approche alternative exploite les règles .htaccess pour établir un URI de base cohérent :

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteRule ^detail/([0-9]+)/?$ detail.php?id=

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/css/
RewriteCond %{REQUEST_URI} !^/js/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /detail/123/ [R=307,L]
Copier après la connexion

Cette règle garantit que tous les actifs externes sont référencés à partir de l’URL /detail/123/. L'indicateur [R=307,L] redirige la requête vers l'URI de base correct (/detail/123/), résolvant efficacement le problème de chargement des actifs sans nécessiter de chemins absolus.

En conjonction avec cela, vous pouvez ajouter une dans la balise élément de vos pages :

<base href="/detail/123/">
Copier après la connexion

Cela solidifie davantage l'URI de base et permet aux chemins relatifs de fonctionner correctement. En mettant en œuvre ces règles, vous pouvez maintenir la réécriture d'URL tout en évitant d'avoir à modifier des fichiers individuels, garantissant ainsi une expérience utilisateur transparente.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal