Seo-Friendly URL导致CSS IMG和JS无法工作


Seo Friendly URL results in CSS IMG and JS not working

我想让我的URL成为SEO友好的URL。我尝试通过重写规则来编辑.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和图像不起作用。

示例URL:

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

这是因为您的相对URI的基已更改。最初,当页面为/swift-details.php?id=foo时,基础为/,并且浏览器正确地填充与/基础的相对链接。但是,当浏览器转到像/swift/details/foo这样的页面时,基础突然变成/swift/,它试图将其附加在所有相关URL之前,因此没有加载它们。

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

<base href="/">

您不需要第二个重写规则。您的CSS/JS路径都是相对于您当前位置的。

您的CSS存在于此处:/css/normalize.css

您的页面位于此处:/swift details/2/abblinbb/css/normalize.css

您所需要的只是在CSS/JS路径之前加上"斜杠"。