0

当谈到 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 文件。


编辑:

实际上,理想情况下,我希望 URL 是teams/Cincinnati Reds/2012而不仅仅是/Cincinnati Reds/2012. 有可能这样做吗?

4

2 回答 2

1

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

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

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

于 2012-06-10T20:24:30.023 回答
0

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

RewriteRule ^teams/([^/]*)/([^/]*)$ teams.php?team=$1&year=$2 [L]
于 2012-06-10T20:51:10.907 回答