php - Seo Friendly URL 导致 CSS IMG 和 JS 不工作

标签 php html css apache .htaccess

我想将我的网址设为 SEO 友好网址。我尝试通过重写规则来编辑 .htaccess 文件

RewriteRule ^swift-details/([0-9]+)/([0-9a-zA-Z_-]+)$ swift-details.php?id=$1 [NC,L]
RewriteRule ^swift-details/(css|js|img)/(.*)?$ /$1/$2 [L,QSA,R=301]

它正在路由正确的 URL,但在该页面中 CSS JS 和图像不起作用。

示例网址:

http://www.example.com/swift-details/2/abblinbb

最佳答案

这是因为您的相对 URI 的基础已更改。最初,基数是 /当页面为 /swift-details.php?id=foo , 并且浏览器正确填写了带有 / 的相关链接根据。但是当浏览器转到类似 /swift/details/foo 的页面时基地突然变成/swift/它会尝试将其附加到所有相对 URL 的前面,因此它们都不会加载。

您可以使您的链接成为绝对链接,或者更改您页面标题中的 URI 基础(在 <head> </head> 标记之间):

<base href="/">

关于php - Seo Friendly URL 导致 CSS IMG 和 JS 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31241701/

相关文章:

css - 如何在 gridview 的行之间添加边距

html - Aurelia:表格 + CSS

php - 想要按类型转换排序但按值(value)排序

php - 从 PHP 访问 JavaScript 变量

php - 根据 session 状态更改变量内容的错误

javascript - jQuery 插件和 ASP.NET 内容页面的问题

html - 悬停时隐藏带有动画的嵌套div

php - SQL 语法错误 id 突然为零

html - CSS : Align items in flex layout

html - 如何在中间(垂直)对齐文本