我正在开发一个网站,我已经设置了以下htaccess规则
RewriteEngine On
#RewriteRule ^([0-9]+)?$ index.php?page=$1
#RewriteRule ^([0-9]+)/([0-9]+)?$ index.php?page=$1&post=$2
RewriteRule ^([A-Za-z0-9-]+)?$ index.php?pagename=$1
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)?$ index.php?pagename=$1&post=$2
这可确保代替http://www.mysite.com/index.php?page=2
显示页面
我开始使用更友好的http://www.mysite.com/about-us
*注意我没有包含尾部斜杠。
在页面中,我的css文件包括在:
<link href="css/style.css" rel="stylesheet" type="text/css" />
位于www.mysite.com/css/style.css
这很有效,但是如果我想要包含一个尾部斜杠(即http://www.mysite.com/about-us/
)
然后我的css文件没有加载,我得到一个错误,Firefox源浏览器说:
在此服务器上找不到请求的网址http://www.mysite.com/about-us/css/style.css
。
这是因为该页面确定将我们作为目录而不是页面。
我并不热衷于使用像<base href="http://www.mysite.com/" />
还有其他选择吗?
答案 0 :(得分:0)
相对URL是从基本URL解析的,如果没有另外指定,则基本URL是使用相对URL的文档的URL。
现在要修复此错误引用,您有两个选择:
BASE
元素由于您不想使用BASE
元素,因此您可能需要调整用于引用外部资源的URL。
最简单的方法是使用绝对URL路径/css/style.css
,使其独立于实际的基本URL路径。