I am assuming that the stuff in “def/products” is not handled by WordPress.
Try reversing the index.php and abc/products rules, like so:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^abc/products-(.+)$ def/products-$1 [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp/index.php [L]
</IfModule>
.htaccess is read and executed line by line. It may help to have your rule execute before WordPress’s. That is the way I usually handle it.
I say ‘try’ because I can usually get these to work but sometimes not the first time. 🙂
Related Posts:
- How to force a 404 on WordPress
- Redirect Restricted Page to 404
- How to prevent automatic redirection of 404 errors and “incorrect” URLs?
- How do I skip wordpress’s 404 handling and redirect all 404 errors for static files to 404.html?
- How do I programmatically generate a 404?
- How do I skip wordpress’s 404 handling?
- 404 redirection and Google’s index [closed]
- Redirect feed to 404 page
- Check if post is in draft or pending review?
- Why specific file directory fails to redirect but its parent folder succeeds?
- WordPress blocking/preventing viewing of .cgi file in subdirectory [closed]
- Deny access to a path (give 403 or 404 response)
- Redirect a page id url but not the page slug
- Defining a custom 404 for non-WordPress parts of site
- WordPress Auto-Redirecting on 404
- Built-In Postname Redirection vs Hard Redirects in relation to SEO and performance
- How to redirect a wrong search on my wordpress website to the error 404 page?
- WP page 404 error only on mobile
- Force 404 redirect to home?
- How can I redirect users on the new 404 page without plugin?
- How to redirect an old page url to the homepage
- Dynamic 404 page content while still keeping 404 status code?
- Redirect to home if page doesn’t exists [duplicate]
- Redirect to parent page if child does not exist
- How to redirect non existent pages/posts in wordpress using htaccess
- How to Redirect WordPress domain.com/?anyword to 404 Page?
- How do I redirect the browser to 404 page, if no posts are found in home page
- How do i make WordPress return 404 instead of redirecting on misspelled page?
- How to redirect if 404 error in wordpress then redirect 404.php url
- Redirect to /404/
- Page editing in backend redirecting to 404 page not found with url /post.php
- How do I skip wordpress’s 404 handling?
- Subpages return 404 server error
- WordPress subfolders htaccess bypassing the root htaccess RewriteRule
- How to Redirect Url to homepage?
- Stopping media file redirects
- Forcing header cache control in 404 pages
- redirect to 404 page
- Redirect certain 404 pages to parent page
- PHP header(Location: …): Force URL change in address bar
- php refresh current page?
- Host the wp-admin on another domain?
- WordPress localhost site redirect to live site
- WordPress Redirect All HTTP requests to HTTPS via .htaccess
- wp_redirect() function is not working
- My wordpress multisite homepage redirects to signup page
- Prevent access to single post types
- WordPress HTTPS redirect loop
- 301 redirect not working through .htaccess
- handling login/logout redirects
- 302 redirect instead of 301 after switch to HTTPS
- How do I redirect all 404 errors of a specific post type to another URL?
- Redirecting to home-page when saving any edited code
- Temporary redirect prevents getting $_POST array
- Can WordPress redirect to a “similar page” in case of 404 error
- Hacked website redirect, only on desktop, help with restoring it [closed]
- Can I check for maintenance mode before redirecting to subdomain?
- Moving variables from one page to another
- How to create a 301 redirect that doesn’t apply to subsites
- How to target specific user role?
- How to auto login after registration? [duplicate]
- How to redirect user to a specific page based on username?
- htaccess 301 Redirect not working for WordPress site
- WordPress does not load page.php, return 404.php
- Auto-detect the redirect url from the original url
- Redirecting Pages That No Longer Exist — But Could in the Future
- About to migrate site to new domain
- Redirect all users to dashboard unless custom post type
- Redirecting connection from IP to localhost
- How to redirect 40,000 urls with the same url structure efficiently?
- Changing theme = change home page for mobile visitors?
- Redirect User on Login based on role WP 3 – Multi-Site
- Redirect old URL (with different post ID) to new URL
- Expired event redirect to parent category
- Delete Redirect Slug For Specific Post
- redirecting an entire WP site from one top level domain to another
- Missing domain http://./wp-… in redirects
- 301 redirects in Headway based WordPress Site
- Why I am not able to direct user to my blog section without login?
- Force User Login
- Import RSS as posts with redirect?
- redirect from old URL structure
- How can I prevent caching of wp_redirect?
- Is the default value of FORCE_SSL_ADMIN documented?
- Redirect Category Media ‘URL’ when clicked
- wordpress automatic URL ‘page’ parameter rewrite
- Changing post depending upon where you’re redirected from?
- Loading /wp-content/uploads/site as /site/
- when contact form7 submited domain redirects to example.com means (example domain)
- How to manage around 90k 301 redirects after migration from old CMS
- Local domain remap with proxy : Infinite 301 redirect, bad URL typo
- Pagination redirect set in .htaccess file is not working
- Count users redirected from Facebook
- Redirecting a POST to a php script
- How to map secure.domain.com to www.domain.com or domain.com with “WordPress MU Domain Mapping” on the primary multisite domain?
- How can I redirect foreigners by IP to other URL in WordPress?
- How to change Ugly link?
- WordPress site redirecting to developers URL
- How to use the HTTP API (wp_remote_get) instead of cURL?
- Redirect if a user has not written a post