简体   繁体   English

有条件的htaccess RewriteRule

[英]Conditional htaccess RewriteRule

I'm trying to create a rewrite rule to redirect to a URL based on a conidtion. 我正在尝试创建一个重写规则以基于条件重定向到URL。

I have had a look on-line for similar questions but am finding myself confused. 我曾经在网上寻找类似的问题,但发现自己很困惑。

My rewrite rule looks like follows: 我的重写规则如下所示:

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

For example, this will redirect any combination of characters after the URL 例如,这将重定向URL后的任何字符组合

www.url.co.uk/rates/1234

to

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

I am creating an admin page as well which will sit at the URL: 我也在创建一个管理页面,该页面位于URL:

www.url.co.uk/rates/admin

How do I modify my rewrite rule to prevent the redirection of the URL to 如何修改我的重写规则以防止URL重定向到

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

When the URL is equal to 当URL等于

www.url.co.uk/rates/admin

This should work: 这应该工作:

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

(?!admin/?$) is a negative lookahead that will not match given regex if URI is /rates/admin OR /rates/admin (?!admin/?$)否定的超前查询 ,如果URI是/rates/admin/rates/admin ,则不会与给定的正则表达式匹配

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM