【问题标题】:Seo Friendly URL results in CSS IMG and JS not workingSeo 友好 URL 导致 CSS IMG 和 JS 不起作用
【发布时间】:2015-09-23 08:31:23
【问题描述】:

我想将我的 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 和图像不起作用。

示例网址:

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

【问题讨论】:

标签: php html css apache .htaccess


【解决方案1】:

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

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

<base href="/">

【讨论】:

    【解决方案2】:

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

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

    您的页面正在查看: /swift-details/2/abblinbb/css/normalize.css

    您只需要在 CSS/JS 路径之前添加“正斜杠”即可。

    【讨论】:

    • 是的,我也得到了这个 bankhints.com" /> 它解决了我的问题,谢谢。我接受了你的回答
    猜你喜欢
    • 2022-12-10
    • 2014-01-25
    相关资源
    最近更新 更多