Regular Expression / Wildcard Redirect Situation
-
I am dealing with an interesting situation. Here's what's going on:
Current URLs Example1:
www.domain.com/red-widgets-cid-1234.html
www.domain.com/red-widgets-cid-1234-1.html
www.domain.com/red-widgets-cid-1234-1-1.htmlCanonical on All Above URLs:
www.domain.com/red-widgets-cid-1234.htmlNew URL:
www.domain.com/red-widgets-cid-4567.html
Current URLs Example2:
www.domain.com/red-widgets-cid-1234+10.html
www.domain.com/red-widgets-cid-1234+10-1.html
www.domain.com/red-widgets-cid-1234+10-1-1.htmlCanonical on All Above URLs:
www.domain.com/red-widgets-cid-1234+10.htmlNew URL:
www.domain.com/red-widgets-cid-6789.htmlI want to make sure all variations of the above URL redirect to the new url. What wildcard 301 redirect / regular expression can I use to tackle these ?
-
Hi Nakul,
Forgive me if this is too simplistic...
The following rewrite rules should cover the examples you provided:
RedirectMatch 301 red-widgets-cid-1234.html http://www.domain.com/red-widgets-cid-4567.html
RedirectMatch 301 red-widgets-cid-1234- http://www.domain.com/red-widgets-cid-4567.html
RedirectMatch 301 red-widgets-cid-1234+ http://www.domain.com/red-widgets-cid-6789.htmlWe just need to escape the special characters (period, hyphen and plus sign).
This should cover the examples you provided, and no need for any elaborate RegEx patterns. Of course, if there are variants your example doesn't mention, things could get more complicated. (I'm also assuming here you're on an Apache environment.)
If I've misunderstood your question or the situation is more complicated than your example demonstrates, let me know.
Thanks,
Mike