我正在尝试在 Ubuntu 12.04 服务器上使用 mod_rewrite 以使我的 URL 更具可读性,但是我想为图像和 css 文件添加一个例外。
我的输入 URL 采用格式\controller\action
,然后将其重写为index.php?controller=controller&action=action
. 我想添加一个例外,以便如果指定了图像或 css 文件,则不会重写 URL,例如\images\image.jpg
不会重写。
我的 .htaccess 代码如下:
RewriteEngine on
RewriteCond %{REQUEST_URI} !(\.gif|\.jpg|\.png|\.css)$ [NC]
RewriteRule ^([a-zA-z]+)/([a-zA-z]+)$ test.php?controller=$1&action=$2 [L]
RewriteRule ^([a-zA-z]+)/([a-zA-z]+)/([^/]*)$ test.php?controller=$1&action=$2&$3 [L]
我的重写代码工作正常,并且 URL 按预期出现,但是即使我请求图像,URL 仍在重写。看来我的 RewriteCond 被忽略了,有人对这可能的原因有什么建议吗?