Mod Rewrite排除文件夹

时间:2012-07-24 00:38:34

标签: .htaccess mod-rewrite

我已经有效地使用重写规则将我的网址从/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" /> 

我在这里做错了什么想法?

由于

1 个答案:

答案 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时,当然不存在。