使用 SEO 友好的 URL 对损坏的 CSS、JavaScript 和图像进行故障排除
通过 .htaccess 重写实现 SEO 友好的 URL 时,这是很常见的遇到 CSS、JavaScript 和图像无法加载的问题。这是因为这些资产的基本 URI 在 URL 重写后被修改。
为了说明该问题,请考虑以下重写规则:
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]
此规则成功将请求路由到所需的位置,但 HTML 中的相对 URI 不再正常工作。例如,在原始 URL 结构中,资产的基本 URI 将为“/”。然而,重写后,基础变为“/swift/details/”。因此,浏览器会尝试将此基址添加到所有相对 URL 的前面,从而导致引用损坏。
要解决此问题,有两个选项可用:
<base href="/" />
这将所有页面的基本 URI 设置为“/”,确保浏览器正确解析相对 URI,即使在 URL 之后重写。
以上是如何在实施 SEO 友好的 URL 后修复损坏的 CSS、JavaScript 和图像?的详细内容。更多信息请关注PHP中文网其他相关文章!