我尝试像这样创建搜索引擎友好URL;:
RewriteRule ^m/([0-9]+)$ my.php?id=$1
然而,它获取没有CSS的页面。
如果我这样写:
RewriteRule ^([0-9]+)$ my.php?id=$1
它使用CSS获取页面没有任何问题。
我该如何解决?
答案 0 :(得分:0)
可以通过在每个页面的head标记中添加base
属性来解决此问题:
<base href="http://www.example.com/" />
或在css之前添加/
。
<link rel="stylesheet" type="text/css" href="/stylesheet.css">
发生的事情是,当您重定向页面时,它还在my/css
而不是css
中寻找css,添加以上内容将解决此问题。
答案 1 :(得分:0)
当你编写这样的CSS引用时:
<link rel="stylesheet" type="text/css" href="style.css">
这是一个相对网址。在http://example.com/
上,它指向http://example.com/style.css
,但在http://example.com/my/1
上,它指向http://example.com/my/style.css
,但不存在。
使用绝对URL修复了此问题:
<link rel="stylesheet" type="text/css" href="/style.css">