Mod Rewrite Regex - 匹配包含A但不包含B的URL

时间:2011-07-05 07:25:51

标签: regex apache mod-rewrite url-rewriting front-controller

我正在尝试通过前端控制器发送请求的页面。

我需要匹配以下网址

domain.com/admin/
domain.com/admin/somepage

但我在/ admin子文件夹中也有一些我不想匹配的资产

domain.com/assets
domain.com/assets/mything.css
domain.com/assets/mything.css
domain.com/xml/myxml.xml

我编写了以下规则(在网站根目录中的.htaccess内部,适用于所有5个示例网址。如何才能使其与前两个匹配?)

RewriteBase / 
# index.php is the front controller
RewriteRule ^(admin) admin/index.php [L,QSA] 

我可以通过两种方式看到这样做(我想知道如何使用文件夹'assets'和'xml'作为排除项并通过设置扩展名来实现)

1 个答案:

答案 0 :(得分:1)

我会在最终路由规则之前使用负RewriteCond

RewriteCond %{REQUEST_URI} !assets