I am looking to implement the following.
if someone visits the site
oldsite.com or any of the pages under it they will be redirected to newsite.com
BUT
i need a specific page on oldsite.com to redirect to something else.
oldsite.com/page should go to newsite2.com
To summarize.
oldsite.com and any pages under that -> newsite.com
oldsite.com/page -> newsite2.com
I have tried using the Cpanel redirects but it doesnt seem to work for the specific page.
Adding
RewriteEngine On
RewriteRule ^(.*)$ http://www.newdomain.com [R=301,L]
to htaccess file as well. I cannot seem to figure out how to do the last part of redirecting the specific url to another website while keeping the redirects to everything else.
2
Answers
Redirect your specific page first, then any ‘remaining’ URLs second:
You can use the more "simple" mod_alias directives:
Note the order of the directives. The most specific redirect is first.
This assumes the old-domain is not pointing to the same place as
newsite2.example
and/ornewsite2.example
.You should test first with 302 (temporary) redirects to avoid potential caching issues.
NB: Never mix redirects from both mod_alias (
Redirect
andRedirectMatch
) and mod_rewrite (RewriteRule
) since you can get unexpected conflicts. (mod_rewrite is always processed before mod_alias despite the apparent order of the directives in the config file.)And, as mentioned in comments, if SEO is a concern then many-to-one redirects to the homepage like this are likely to be seen as soft-404s by search engines (and generally gives a bad experience for users).