Re: REQUEST_URI multiple wildcard pattern

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx> 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



[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux