首页 >后端开发 >php教程 >为什么我的 CSS、JS 和图像在实现 SEO 友好的 URL 后会损坏?

为什么我的 CSS、JS 和图像在实现 SEO 友好的 URL 后会损坏?

DDD
DDD原创
2024-12-25 12:42:20728浏览

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

SEO 友好的 URL 影响 CSS、JS 和图像功能:重写策略

为了增强搜索引擎优化 (SEO),您重写了您的 .htaccess 文件,旨在实现 SEO 友好的 URL。然而,您遇到了一个意想不到的问题:CSS、JS 和图像在修改后的页面上无法按预期运行。

问题是由于您的原始 .htaccess 文件配置使用以下方式创建了 SEO 友好的 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]

第一条规则将 URL 重写为更适合 SEO 的格式。问题出在第二条规则上。它尝试将对 CSS、JS 和图像的请求映射到其绝对对应项,同时维护页面内的相对链接。

但是,这种方法会更改页面的基本 URI,导致相对链接(例如“样式”) .css")失败,因为浏览器现在相对于修改后的 URL(例如,“/swift-details/2/abblinbb”)解释它们。因此,CSS、JS 和图像无法正确加载。

修复:绝对或基本 URI 注入

有两种可能的解决方案可以解决此问题:

  • 使用绝对链接:修改页面内的链接以使用绝对链接URL 而不是相对的 URL(例如“/css/styles.css”)。
  • 感染基本 URI: 添加 中具有绝对基本 URI 的标记页面的部分:
<head>
  <base href="/" />
</head>

这将强制浏览器使用适当的基本 URI 解析相对链接,确保 CSS、JS 和图像按预期加载。

以上是为什么我的 CSS、JS 和图像在实现 SEO 友好的 URL 后会损坏?的详细内容。更多信息请关注PHP中文网其他相关文章!

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