I am getting issues in 301 redirections
Example 1
I have a URL called https://www.example.com/abc/xyz-1
and I have to redirect to https://www.example.com/abc/xyz
So I have tried the below code and it's working.
Redirect 301 /abc/xyz-1 https://www.example.com/abc/xyz
Example 2
I have one more URL that I have to redirect
https://www.example.com/abc
to https://www.example.com/postname
and I tried the below code and this is also working.
Redirect 301 /abc https://www.example.com/postname
Now my issue is, that once I add the above code in my htaccess then the first example stops working.
Any idea how to solve this issue?
CodePudding user response:
Redirect
module is usually the best choice for handling similarly matching URIs as it only matches starting part which is /abc
in both the cases.
You should consider using RedirectMatch
that supports regular expression for precise matching:
RedirectMatch 301 ^/abc/xyz-1/?$ /abc/xyz
RedirectMatch 301 ^/abc/?$ /postname
RedirectMatch 301 ^/job/?$ /opening/
Note use of regex anchors ^
and $
here for precise matching. e.g. ^/abc/?$
will match /abc
or /abc/
but won't affect /abc/xyz-1
.