httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric Covener" <cove...@gmail.com>
Subject Re: [users@httpd] Rewrite Rule help
Date Wed, 17 Sep 2008 21:20:02 GMT
On Wed, Sep 17, 2008 at 4:58 PM, André Warnier <aw@ice-sa.com> wrote:
> Eric Covener wrote:
>>
>> On Wed, Sep 17, 2008 at 4:02 PM, André Warnier <aw@ice-sa.com> wrote:
>>>>
>>>> (you can do the latter via your regex, but it's usually simpler to
>>>> guard it the other way)
>>>>
>>>>
>>> RewriteRule !^/maintenance\.html$  /maintenance.html [R=302,NC,L]
>>
>> It quickly gets unamangeable as you need to add captures (putting you
>> into the realm of lookahead/lookbehind) and 2nd/3rd/4th escape hatches
>>
> Now, come on. I was answering this particular one, in which there are no
> captures nor any necessary. My solution is one line, yours is two; mine does
> not have to backtrack to the RewriteCond, yours does; regexpes are fast; and
> there is certainly some extra overhead in fetching %{REQUEST_URI} and
> comparing it to "/maintenance.html".
> Admit defeat, sportingly. ;-)

Sorry, many hours with users on  #apache (and customers) makes me feel
that baking the restriction into the RewriteRule is a second choice,
as I included my reply (because it's counter-intuitive that addl
directives are easier to deal with)

> Plus, if it was so that one needed to capture parts, you would need also
> several RewriteCond's, and probable variables to hold them, no ?
> (genuinely asking, I'm just starting to learn mod_rewrite)

No, it's that you can't capture in the RewriteRule when you prefix it
with a negation.  You have to bake the negation into e.g. negative
lookahead/behind in pcre instead of just asking mod_rewrite to negate
the entire test.

-- 
Eric Covener
covener@gmail.com

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Mime
View raw message