在一个严重依赖.htaccess
RewriteRules 的 PrettyURLs(在我的例子中是 CakePHP)的应用程序中,我如何正确设置指令以从重写中排除某些目录?那是:
/appRoot/.htaccess
app/
static/
默认情况下,每个请求/appRoot/*
都被重写以被 接收app/webroot/index.php
,并在其中对其进行分析并调用相应的控制器操作。这是通过以下指令完成的.htaccess
:
RewriteBase /appRoot
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
我现在想从这个重写中排除一些像 static/ 这样的目录。我在 Cake RewriteRules之前试过这个:
RewriteCond $1 ^(static|otherDir).*$ [NC]
RewriteRule (.*) - [L]
到目前为止,它不再重写请求,但现在所有请求都被跳过,甚至是不应该匹配的合法 Cake 请求^(static|otherDir).*$
。
我尝试了这些规则的几种变体,但无法让它按我想要的方式工作。