URL 重写:解决 URL 修改后的 CSS、JS 和图片加载问题
在 .htaccess 中实现 URL 重写规则以重定向 Web 时页面中,加载 CSS、JS 和图像等外部资源时经常会遇到困难。 .htaccess 文件中的原始规则:
Options +FollowSymLinks RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteRule ^detail/([0-9]+)/?$ detail.php?id=
成功将 URL 重定向到指定的 PHP 文件。但是,当 CSS、JS 和图像由于 URL 库中的 符号而无法加载时,就会出现问题。
正如问题中提到的,一种解决方案是对外部资源使用绝对路径。虽然这可能会解决该问题,但需要手动修改所有受影响的文件,这不是一个实际的解决方案。
或者,还有一种更有效的方法可以使用 .htaccess 规则来解决此问题。通过调整重定向页面标头中的 URL 基数,您可以确保相对路径继续正常工作。操作方法如下:
<head> <base href="/"> </head>
此行应添加在
和 之间。和重定向页面中的标签。通过将基本 href 设置为 /,您可以将基本 URL 重新建立到原始位置 / 而不是 /detail/。因此,无论 URL 发生变化,浏览器都会正确填写相关链接,并且外部资源将按预期加载。此方法消除了手动编辑单个 PHP 文件的需要,并为以下问题提供了干净高效的解决方案: URL重定向后外部资源加载的问题。
以上是URL重写后如何解决CSS、JS、图片加载问题?的详细内容。更多信息请关注PHP中文网其他相关文章!