我想让我的url成为SEO Friendly 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.bankhints.com/swift-details/2/abblinbb
你不需要第二个重写规则。 你的CSS / JS路径与你当前的位置都是“相对的”。
你的CSS存在于这里:/css/normalize.css
你的页面在这里:/swift-details/2/abblinbb/css/normalize.css
所有你需要的是在你的CSS / JS路径之前的“正斜杠”。
这是因为你的相对URI有其基础改变。 最初的基础是/
当页面是/swift-details.php?id=foo
,浏览器正确地填充与/
base的相对链接。 但是,当浏览器转到像/swift/details/foo
这样的页面时,基地突然变成了/swift/
并且它试图在所有的相对URL之前附加这个页面,因此没有加载它们。
您可以将链接设置为绝对路径,也可以更改网页标题中的URI基础(位于<head> </head>
标记之间):
<base href="/">