.htaccess - 重写除1个特定目录

时间:2015-08-16 08:36:26

标签: php apache .htaccess mod-rewrite

我知道已经有人问过并已经回答了这个问题,但在使用我在答案中看到的代码时,我真的不知道我在做什么。 这是我的问题:
我的网站使用PHP路由器,然后它不发送指定的文件,而是根据URI生成一个页面 为了让我的router.php运行任何URI,我创建了一个简单的.htaccess文件,这里是:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) router.php [L]

问题是我有一个目录,其中包含客户可能要求的所有资产(images,stylehseets,api ......),标题为“assets”。我想总是得到router.php文件,无论URI是什么,除非它要求资产目录。
任何人都可以帮我更新我的.htaccess代码吗?谢谢! :)

1 个答案:

答案 0 :(得分:0)

您只需要在RewriteRule中使用否定条件以允许特定目录或路径:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule !^assets(/.*)?$ router.php [L,NC]