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 注入
有两种可能的解决方案可以解决此问题:
<head> <base href="/" /> </head>
这将强制浏览器使用适当的基本 URI 解析相对链接,确保 CSS、JS 和图像按预期加载。
以上是为什么我的 CSS、JS 和图像在实现 SEO 友好的 URL 后会损坏?的详细内容。更多信息请关注PHP中文网其他相关文章!