我想将我的网址设为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和图像无法正常工作。
示例网址:
答案 0 :(得分:8)
这是因为您的相对URI的基数已更改。最初,当页面为/
时,基数为/swift-details.php?id=foo
,浏览器会正确填充/
基础的相对链接。但是当浏览器转到/swift/details/foo
这样的页面时,基础突然变为/swift/
,它会尝试将其附加到所有相对URL之前,因此它们都不会加载。
您可以将链接设为绝对,也可以更改网页标题中的URI基数(在<head> </head>
标记之间):
<base href="/">
答案 1 :(得分:4)
您不需要第二次重写规则。你的CSS / JS路径都是相对的&#39;到你当前的位置。
您的CSS存在于此处: /css/normalize.css
您的信息页面在这里: /swift-details/2/abblinbb/css/normalize.css
你需要的只是&#39;正斜杠&#39;在你的CSS / JS路径之前。