modrewrite规则不允许加载CSS文件

时间:2012-06-10 20:14:14

标签: css mod-rewrite

当谈到modrewrite时,我是一个完全的菜鸟,我在.htaccess文件中写了以下重写规则:

RewriteRule ^([^/]*)/([^/]*)$ teams.php?team=$1&year=$2 [L]

该规则有效地建立了像

这样的链接
teams.php?team=Cincinnati Reds&year=2012

成为     / Cininnati Reds / 2012

但是css文件不会加载。我试过改变

<link rel="stylesheet" type="text/css" href="css/conceptually.css" /> 

<link rel="stylesheet" type="text/css" href="../css/conceptually.css" /> 

没有运气。

有关如何制作任何快速重写规则的想法,我将不必编入每个文件并将目录更改为每个CSS文件。


编辑:

实际上,理想情况下,我希望网址为teams/Cincinnati Reds/2012,而不仅仅是/Cincinnati Reds/2012。有可能吗?

2 个答案:

答案 0 :(得分:1)

我使用以下两个重写条件来不对所有真实文件和目录使用重写:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# your RewriteRule here…

顺便说一下。使用mod_rewrite,您可以重写从/Cininnati Reds/2012teams.php?team=Cincinnati Reds&year=2012的网址。 mod_rewrite不会将您的链接转换为该格式。这留给了显示应用程序。

答案 1 :(得分:0)

对于您的第二个请求,这应该有效:

RewriteRule ^teams/([^/]*)/([^/]*)$ teams.php?team=$1&year=$2 [L]