当谈到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
。有可能吗?
答案 0 :(得分:1)
我使用以下两个重写条件来不对所有真实文件和目录使用重写:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# your RewriteRule here…
顺便说一下。使用mod_rewrite,您可以重写从/Cininnati Reds/2012
到teams.php?team=Cincinnati Reds&year=2012
的网址。 mod_rewrite不会将您的链接转换为该格式。这留给了显示应用程序。
答案 1 :(得分:0)
对于您的第二个请求,这应该有效:
RewriteRule ^teams/([^/]*)/([^/]*)$ teams.php?team=$1&year=$2 [L]