我已经有效地使用重写规则将我的网址从/teams.php?team=New York Yankees& year = 2012更改为team / New York Yankees / 2012。
我的.htaccess文件包含以下内容
RewriteEngine On
RewriteRule ^teams/([^/]*)/(^/]*)$ /teams.php?team=$1&year=$2 [L]
但是,由于此重写规则当前有效,因此不会加载任何外部CSS和JS文件。我已经尝试在重写规则之前添加以下重写条件而没有运气
RewriteCond %{REQUEST_URI} !^/(css/js)/
我的几乎所有文件都有以下指向外部样式表的链接。
<link rel="stylesheet" type="text/css" href="css/stylesheet.css" />
我在这里做错了什么想法?
由于
答案 0 :(得分:1)
链接到样式表时,必须使用完整路径,而不是像现在这样的相对路径。有了重写规则,它们就会变成相对于预先重写的URL。
例如,更改:
<link rel="stylesheet" type="text/css" href="css/stylesheet.css" />
为:
<link rel="stylesheet" type="text/css" href="/css/stylesheet.css" />
他们没有加载的原因是因为浏览器试图访问:
http://yoursite.com/teams/New York Yankees/2012/css/stylesheet.css
当您链接到css/stylesheet
时,当然不存在。