Can WordPress redirect to a “similar page” in case of 404 error

If you remove your Redirect from the .htaccess file, you could try adding a custom 404.php template file to your theme. I’m not sure exactly what you are asking. Do you want the page to Redirect, or do you want a custom 404 page that displays similar items?

To achieve the show similar posts using the 404.php template try this:

Create a php file named 404.php
Add this to the file and save it, then upload it to your theme directory:

<?php get_header(); ?>
        <div class="container">
<div class="content">
<h2 class="entry-title">Didn't Find What You were Looking For?</h2>
<p>Perhaps one of the links below, can help.</p>
<?php  
$rel_tags = get_the_tags();
foreach($rel_tags as $rel_tag)
{
    $rel_tagnames .= $rel_tag->name . ',';
}
$rel_posts = get_posts('tag=' . $rel_tagnames . '&post__not_in' . $post->ID . '&showposts=5');
if (count($rel_posts)) : ?>
    <ul>
    <?php foreach((array) $rel_posts as $rel_post) { ?>
        <li><a href="https://wordpress.stackexchange.com/questions/24715/<?php echo $rel_post->post_name ?>"><?php echo $rel_post->post_title ?></a></li>  
    <?php } ?>
    </ul>
<style type="text/css">
#return-home {
display:block;
position:relative;
padding:5px;
font-size:24px;
font-weight:600;
color:black;
margin-top:40px;
}
</style>
<div id="return-home">
<p>
<a href="<?php bloginfo('url'); ?>" title=" <?php bloginfo('name'); ?>">Click to Go to the Home Page:&nbsp;<?php bloginfo('name'); ?></a>
</p>
<?php else : ?>

<?php endif; ?>
            </div>
        </div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

NOTE:
You will need to replace the div’s I’ve used with the ones your theme has or it won’t look like the rest of your website. Open your index.php file and replace the <div class="container"> and <div class="content">from my file with your theme’s div’s.