首页 >后端开发 >php教程 >URL重写后如何解决CSS、JS、图片加载问题?

URL重写后如何解决CSS、JS、图片加载问题?

Susan Sarandon
Susan Sarandon原创
2024-12-02 09:37:10688浏览

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

URL 重写:解决 CSS、JS 和图片加载失败的问题

在 .htaccess 中实现 URL 重写规则时,会出现一个常见问题CSS、JS 和图像等外部资源无法正确加载。这可以归因于重定向发生时 URI 基的变化。

最初的解决方案涉及使用绝对路径,这可以确保无论页面的 URL 是什么,资源都可以找到。然而,这需要对所有文件进行繁琐的修改,使其成为一个不可靠的解决方案。

另一种方法利用 .htaccess 规则来建立一致的基本 URI:

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]

此规则确保所有外部资产从 /detail/123/ URL 引用。 [R=307,L] 标志将请求重定向到正确的基本 URI (/detail/123/),有效解决资源加载问题,而不需要绝对路径。

与此结合,您可以添加

内的标签页面元素:
<base href="/detail/123/">

这进一步巩固了基本 URI 并使相对路径能够正常运行。通过实施这些规则,您可以保持 URL 重写,同时避免编辑单个文件,从而确保无缝的用户体验。

以上是URL重写后如何解决CSS、JS、图片加载问题?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn