2013-09-30 57 views
1

我想创建一个重写规则重定向到基于conidtion的URL。有条件的htaccess重写规则

我看过类似的问题,但我发现自己很困惑。

我重写规则如下所示:

RewriteRule ^rates/(\w+)/?$ http://www.url.co.uk/rates/result.php?quotenum=$1 [R,L] 

例如,这将字符的任意组合在URL后重定向

www.url.co.uk/rates/1234 

www.url.co.uk/rates/result.php?quotenum=1234 

我创建的管理员页面,以及将在网址:

www.url.co.uk/rates/admin 

如何修改我的重写规则,以防止URL重定向到

www.url.co.uk/rates/result.php?quotenum=admin 

当URL等于

www.url.co.uk/rates/admin 

回答

1

这应该工作:

RewriteRule ^rates/((?!admin/?$)\w+)/?$ http://www.url.co.uk/rates/result.php?quotenum=$1 [R,L,NC] 

(?!admin/?$)是一个负面预测如果URI是/rates/admin/rates/admin

将与给定的正则表达式不匹配