httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Arunkumar Janarthanan <arunkumar.webad...@gmail.com>
Subject Re: [users@httpd] REQUEST_URI multiple wildcard pattern
Date Sat, 30 Apr 2011 12:05:47 GMT
Hi Lee,

sorry for posting the requirement as it is, this is what the requirement
exactly.

1. http://xyz.com/esweep* - no redirection at all  (so urls like
esweepconfirm/thank-you/ do not redirect)
2. http://xyz.com/user* - no redirection at all
3. http://xyz.com/files/* - no redirection at all
4. http://xyz.com/admin* - no redirection at all
5. http://xyz.com/go - no redirection at all
6. All other - redirect to http://www.abc.com/page-not-found

Best Regards,
Arun J

On Sat, Apr 30, 2011 at 7:44 AM, Lee Goddard <leegee@gmail.com> wrote:

>  Hi Arunkumar
>
> You wrote,
>
>
> I could use !^/(files|admin|user|product|go), however this would allow all
> wildcard pattern for the URI string like "user/login" ? or
> "products/newarrival" ?
>
> This is not true. Nothing beginning with the words files, or admin, or
> user, or product, or go, would match.
>
> You do not need to terminate the pattern with a wildcard -- you have a
> match at the beginning.
>
> What is it exactly that you are trying to achieve?
>
> Lee
>
>
>
> On 30/04/2011 12:44, Arunkumar Janarthanan wrote:
>
> Thanks Lee, for your reply.
>
> I could use !^/(files|admin|user|product|go), however this would allow all
> wildcard pattern for the URI string like "user/login" ? or
> "products/newarrival" ?
>
> Is why I tried with (.*) but the wildcard string still not getting picked
> up by the rule.
>
> On Sat, Apr 30, 2011 at 2:22 AM, Lee <leegee@gmail.com> wrote:
>
>>
>>
>> On 30/04/2011 05:46, Arunkumar Janarthanan wrote:
>> > Hi,
>>
>> >
>>
>> > I have a request that the site contains specific URI pattern
>> should
>>
>> > go to another URL while the other URI patterns goes to 404
>> page of
>>
>> > external site.
>>
>> >
>>
>> > Here below the rule I have written, however this is not
>> working for
>>
>> > wildcard match of the URI pattern.
>>
>> >
>>
>> > RewriteCond %{REQUEST_URI}
>>
>> > !^/(files(.*)|admin(.*)|user(.*)|product(.*)|go(.*))$
>> RewriteRule .*
>>
>> > http://www.abc.com/page-not-found [R=301,NC,L]
>>
>>  RewriteCond %{REQUEST_URI} !^/(files|admin|user|product|go)
>>
>> Round brackets are good for grouping OR clauses (produce|admin),
>> and good for storing back-references (.*). But you are not using
>> back-references, so you can drop a lot of those brackets. Also,
>> you can simply your use of the gobble-everything operator (.*)
>>  by putting it at the end - although why would you need it?
>>
>> You simply need to match a few phrases at the beginning of the
>> string.
>>
>> So:
>>
>>     ! If REQUEST_URI does not match
>>     ^ from the start
>>     / oblique
>>     (files|admin|user|product|go) any of these phrases
>>
>> HTH
>> Lee
>>
>>
>

Mime
View raw message